專利名稱:采用演化算法的硬件設(shè)計(jì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可演化硬件(evolvable hardware),更具體地來(lái)說(shuō)涉及采用可演化的硬件設(shè)計(jì)硬件體系結(jié)構(gòu)。
可演化硬件(EHW)指一種特定類型的硬件,其體系/結(jié)構(gòu)和功能動(dòng)態(tài)且自發(fā)性地改變,以在執(zhí)行某些任務(wù)時(shí)提高其性能??裳莼布谌缦挛恼轮杏兴懻揦.Yao所著標(biāo)題為“追蹤可演化硬件之路”的文章(Communications of the ACM,vol.42,no.4,pp.47-491999)以及X.Yao和T.Higuchi所著“可演化硬件的前景和挑戰(zhàn)”的文章(IEEE Trans.On Systems,Man,and Cybernetics,PartCApplications and reviews,vol.29,no.1,pp.87-97,1999)。
近年來(lái)這一新領(lǐng)域的興起一直深受可重構(gòu)硬件和演化計(jì)算(evolutionary computation)的發(fā)展的影響。眾所周知,常規(guī)硬件的缺點(diǎn)是不靈活。硬件結(jié)構(gòu)和功能一旦制造完成,則無(wú)法更改。但是多數(shù)現(xiàn)實(shí)問(wèn)題卻不是固定不變的。它們隨時(shí)間變化。為了既有效率又有效果地解決這些問(wèn)題,需要不同的硬件結(jié)構(gòu)。EHW提供了一種理想途徑,通過(guò)動(dòng)態(tài)調(diào)整硬件結(jié)構(gòu)以適應(yīng)問(wèn)題從而使硬件“軟化”。
EHW可以描述為將演化計(jì)算技術(shù)應(yīng)用于電子硬件設(shè)計(jì)例如濾波器設(shè)計(jì);或者可以通過(guò)動(dòng)態(tài)和自發(fā)地重配置其體系結(jié)構(gòu)在線調(diào)整的硬件。前者側(cè)重于將演化計(jì)算技術(shù)視為潛在的設(shè)計(jì)工具,而后者側(cè)重于硬件的調(diào)整。值得一提的是,EHW與演化算法的硬件實(shí)現(xiàn)大不相同,因?yàn)槠溆布怯糜诩铀俑鞣N演化操作的。硬件本身并沒(méi)有更改或進(jìn)行調(diào)整。
EHW有兩個(gè)主要方面仿真演化和電子硬件。仿真演化可以由遺傳算法(genetic algorithm)(GA)、遺傳規(guī)劃(genetic programming)(GP)、演化規(guī)劃(evolutionary programming)(EP)或者演化策略(evolutionary strategy)(ES)來(lái)驅(qū)動(dòng)。至于哪種演化算法最適于EHW,沒(méi)有統(tǒng)一的定論。不同的演化算法(EA)適合不同的EHW。EHW中所采用的電子硬件可以是數(shù)字、模擬或混合型的電路。EA的優(yōu)點(diǎn)之一在于它們對(duì)EHW中所用電路的類型的約束非常少。
多數(shù)EHW非常倚重可重配置的硬件,如現(xiàn)場(chǎng)可編程門陣列(FPGA)。FPGA的體系結(jié)構(gòu)和功能直接由它的體系結(jié)構(gòu)比特確定。這些比特是可重配置的。EHW利用此靈活性的優(yōu)點(diǎn)以及采用EA來(lái)使這些比特演變,以便既有效率又有成效地完成某些任務(wù)。
對(duì)“可演化硬件”最通用的定義是,“通過(guò)演化算法實(shí)現(xiàn)硬件設(shè)計(jì)(通常指電子的,而非機(jī)械、生物、化學(xué)的)”。演化算法有許多種類,它們均用在EHW中,但是結(jié)合“適者生存”的思想,它們均基于生成-測(cè)試法則。一般來(lái)說(shuō),個(gè)體(本例中為設(shè)計(jì)方案)構(gòu)成的種群(population)最初是隨機(jī)生成的。然后,算法將按照如下步驟進(jìn)行1.將適應(yīng)度測(cè)量值分配給每個(gè)個(gè)體。
2.選擇一些適應(yīng)度高的個(gè)體作為父代(parent)。
3.通過(guò)演化算子(evolutionary operator)(例如,交叉(crossover)算子、變異(mutation)算子)生成新的個(gè)體(后代)。
4.從當(dāng)前種群和后代的并集中,選擇一些個(gè)體生存到下一代。
5.回到步驟(1),除非種群中的個(gè)體滿足某種終止標(biāo)準(zhǔn)。
圖1顯示EHW演化周期中的主要步驟。隨機(jī)地或試探性地生成編碼為染色體(chromosome)10的體系結(jié)構(gòu)比特的初始種群。然后將它們下載12到FPGA 14中,以進(jìn)行適應(yīng)度評(píng)估。為了削減成本和節(jié)省空間,某個(gè)EHW只有一組FPGA硬件,用于依次評(píng)估每個(gè)染色體的適應(yīng)度。FPGA的適應(yīng)度,通常等效于其染色體的適應(yīng)度,對(duì)它的估計(jì)是通過(guò)FPGA與環(huán)境16的交互來(lái)進(jìn)行的。然后將此適應(yīng)度用于選擇父代染色體18,以便進(jìn)一步進(jìn)行復(fù)制和遺傳操作。交叉和變異20通常用于從父代生成后代的染色體22。然后這些后代根據(jù)某種替代策略來(lái)替代它們的父代。某些替代策略可能會(huì)保留父代,而拋棄其后代。在替代步驟之后,形成新一代的染色體。
圖1的示意圖利用EPGA作為EHW的一個(gè)實(shí)例。但是,所述的步驟同樣適用于其他類型的EHW。
一般可區(qū)分出五種級(jí)別的EHW1.One-Shot Extrinsic生成-測(cè)試周期完全以軟件方式完成。對(duì)設(shè)計(jì)進(jìn)行仿真測(cè)試,在該過(guò)程結(jié)束時(shí),創(chuàng)建一個(gè)或一組可以硬件方式實(shí)現(xiàn)的設(shè)計(jì)。
2.One-Shot Mixtrinsic同級(jí)別1,只是設(shè)計(jì)要同時(shí)通過(guò)仿真和在實(shí)際的硬件中進(jìn)行評(píng)估。
3.One-Shot Intrinsic同級(jí)別1,只是在每個(gè)生成-測(cè)試周期里,所有設(shè)計(jì)都編程到硬件中,并通過(guò)測(cè)試實(shí)際的硬件來(lái)進(jìn)行評(píng)估。設(shè)計(jì)過(guò)程的控制在主計(jì)算機(jī)上以軟件方式完成。
4.One-Shot Intrinsic with On-Chip Control同級(jí)別3,只是采用可編程硬件部分來(lái)實(shí)現(xiàn)設(shè)計(jì)過(guò)程的控制。
5.Adaptive Intrinsic同級(jí)別4,只是每當(dāng)環(huán)境發(fā)生變化時(shí)重復(fù)設(shè)計(jì)周期,從而允許硬件適應(yīng)變化的環(huán)境、硬件故障。
從研究的角度來(lái)看,級(jí)別1與其余級(jí)別之間的存在巨大的差異。如果在芯片上實(shí)際地評(píng)估硬件,設(shè)計(jì)可能(且經(jīng)常會(huì))包括未被仿真并且傳統(tǒng)設(shè)計(jì)過(guò)程中通常沒(méi)有考慮到的效果(例如單元之間的寄生耦合)。這可能導(dǎo)致非常有趣且創(chuàng)新的設(shè)計(jì),但同時(shí)分析也會(huì)非常困難。從級(jí)別2到級(jí)別5并非不重要,但是缺乏研究,存在許多工程/實(shí)現(xiàn)方面的問(wèn)題。當(dāng)然,從實(shí)際應(yīng)用的角度來(lái)看,級(jí)別5可能是非常理想的。
除級(jí)別1外的所有應(yīng)用均是基于可重復(fù)編程硬件的。它們通常是FPGA和其他PLD;雖然也可以采用模擬可重配置器件。目前采用FPGA或ASIC的設(shè)計(jì)最可能適用。演化設(shè)計(jì)方法是一種生成-測(cè)試方法。因此需要可以機(jī)械方式評(píng)估所生成的電路。再者,此測(cè)試應(yīng)該相當(dāng)快。其精確含義取決于多種因素,尤其是設(shè)計(jì)的難度(對(duì)于某些難題,常常需要評(píng)估數(shù)百萬(wàn)或甚至十億個(gè)電路設(shè)計(jì)),以及可用于完成設(shè)計(jì)的時(shí)間。
EHW最好用于小型設(shè)計(jì),以減小復(fù)雜性。在目前公布的應(yīng)用中,似乎指定和連接約30個(gè)元件即被視為困難的任務(wù)。如果例如限制可能的互連來(lái)限制搜索空間,則可以使用更多的元件。元件的具體所指由實(shí)現(xiàn)方式而定,它可能是FPGA上功能單一的單元(或模擬電路上的晶體管),也可能是較大的模塊,例如算術(shù)函數(shù)裝置。
EHW的主要優(yōu)點(diǎn)是它不依賴于已建立的設(shè)計(jì)方法(可以采用,但并不要求使用這些方法)。實(shí)際上,較之其他方法,演化設(shè)計(jì)方法通常最適合用于可用設(shè)計(jì)信息很少或可用設(shè)計(jì)方法限制了可設(shè)計(jì)的電路群的場(chǎng)合。設(shè)計(jì)過(guò)程中越多采用“秘訣(black magic)”或“試錯(cuò)法”,EHW就越可能產(chǎn)生更好的設(shè)計(jì)。由于演化算法基于種群特性,故常??梢院芎玫亟鉀Q多目標(biāo)優(yōu)化問(wèn)題。
級(jí)別5的EHW設(shè)計(jì)是一種特殊情況。對(duì)于希望硬件自己調(diào)整以適應(yīng)變化中的環(huán)境或自我重新布線來(lái)響應(yīng)硬件故障(容錯(cuò)HW)的應(yīng)用而言,EHW被視為一種非常有前途的方法。在此情況中,EHW設(shè)計(jì)過(guò)程并沒(méi)有與設(shè)計(jì)人員形成競(jìng)爭(zhēng),因?yàn)樵O(shè)計(jì)人員不可能持續(xù)不斷地進(jìn)行重新配置。因?yàn)橘Y源有限和要求響應(yīng)時(shí)間快,所以搜索空間小且測(cè)試快在自適應(yīng)設(shè)計(jì)應(yīng)用中尤其重要。
本發(fā)明目的在于提出一種采用演化算法設(shè)計(jì)硬件元件的改進(jìn)方法。從最廣義的形式來(lái)說(shuō),本發(fā)明在于采用分組(clutering)和帕瑞托前沿(Pareto front)選擇哪些個(gè)體將幸存到下一代。帕瑞托前沿由群體(cluster)中的非受控個(gè)體組成。
更具體地來(lái)說(shuō),提出一種采用演化算法設(shè)計(jì)硬件元件的改進(jìn)方法,該方法包括如下步驟a)給出硬件元件的初始種群;
b)將該初始種群編碼為染色體;c)根據(jù)多目標(biāo)適應(yīng)度標(biāo)準(zhǔn)評(píng)估初始種群中每個(gè)個(gè)體的適應(yīng)度;d)基于初始種群的適應(yīng)度評(píng)估結(jié)果選擇父代染色體;e)對(duì)所選擇的父代染色體執(zhí)行遺傳操作以生成后代群體;f)從父代和后代染色體中選擇一組新染色體,其中包括根據(jù)父代和后代染色體形成多個(gè)群體以及構(gòu)造每個(gè)群體的非受控染色體的帕瑞托前沿;以及g)對(duì)新的染色體集合重復(fù)步驟c}至f}以形成新一代,一直持續(xù)到滿足預(yù)定終止標(biāo)準(zhǔn)為止。
本發(fā)明還提出一種采用演化算法重新設(shè)計(jì)現(xiàn)有硬件元件的方法,它包括如下步驟通過(guò)對(duì)現(xiàn)有硬件元件的染色體表示執(zhí)行遺傳操作,由現(xiàn)有硬件元件生成后代種群;從現(xiàn)有染色體和后代染色體中選擇一組新染色體,其中包括形成多個(gè)染色體群并形成每個(gè)群體的非受控染色體的帕瑞托前沿;根據(jù)一個(gè)或多個(gè)標(biāo)準(zhǔn)評(píng)估每個(gè)個(gè)體的適應(yīng)度;基于適應(yīng)度評(píng)估結(jié)果選擇父代染色體;以及重復(fù)選擇新染色體集合、適應(yīng)度評(píng)估和選擇父代的步驟,直到形成一組新的后代染色體、滿足預(yù)定的性能或其他標(biāo)準(zhǔn)為止。
本發(fā)明的實(shí)施例的優(yōu)點(diǎn)在于在演化過(guò)程中鼓勵(lì)和保持設(shè)計(jì)的多樣性。這不但避免了過(guò)早收斂,而且可以將人類專家在設(shè)計(jì)部件時(shí)不會(huì)考慮到的非常規(guī)設(shè)計(jì)納入考慮。
分組步驟最好包括基于基因型(genotype)之間的距離形成群體。
在該過(guò)程進(jìn)行到n代之后最好重新分組。這樣做的優(yōu)點(diǎn)在于所定義的群體均勻地分布在種群中的染色體上。
在重新分組一定次數(shù)之后,群體最好穩(wěn)定下來(lái)以致群體之間不存在遺傳物質(zhì)的交換,其優(yōu)點(diǎn)在于有助于保持多樣性。
最好定期從群體的帕瑞托前沿中刪除一些染色體。這種前沿移位的優(yōu)點(diǎn)在于它防止前沿增長(zhǎng)過(guò)大而增加許多相似的個(gè)體。最好通過(guò)將具有最小基因型距離的非受控個(gè)體標(biāo)識(shí)成一對(duì),然后刪除適應(yīng)度最差的對(duì)編號(hào)而使前沿減小。
最好對(duì)帕瑞托前沿采用嚴(yán)格約束。其優(yōu)點(diǎn)在于從前沿中刪除極端的個(gè)體,以防它們可能將有希望的個(gè)體擠出去。
最好通過(guò)如下四種方法之一來(lái)選擇父代染色體利用組合適應(yīng)度(combined fitness)選擇、利用共享適應(yīng)度選擇、以及在兩種個(gè)體均不受控時(shí)用小生境計(jì)數(shù)(niche count)或者群體大小來(lái)優(yōu)選非受控個(gè)體而非受控個(gè)體。
最好,生成后代的遺傳操作的應(yīng)用包括變異和/或交叉。最好是兩點(diǎn)交叉。
可以利用本發(fā)明的實(shí)施例來(lái)設(shè)計(jì)范圍很廣的硬件元件,包括數(shù)字濾波器。在數(shù)字濾波器的設(shè)計(jì)中,染色體基因型最好為濾波器的零-極點(diǎn)描述而表現(xiàn)型(phenotype)為轉(zhuǎn)移函數(shù)。這樣做的優(yōu)點(diǎn)在于可以表示所有IIR線性濾波器,且所有表現(xiàn)型都是可行的。而且保留局部性,因?yàn)橄嗨频幕蛐途哂邢嗨频念l率響應(yīng)特征且搜索空間相對(duì)平滑。
下文將參考附圖通過(guò)示例描述本發(fā)明的實(shí)施例。
圖1是可演化硬件的演化周期中主要步驟的示意圖;圖2顯示用于說(shuō)明頻率響應(yīng)約束的可能的低通濾波器的振幅和群時(shí)延;圖3顯示演化算法的框架;圖4顯示帕瑞托前沿的不同區(qū)域;圖5顯示初級(jí)演化系統(tǒng)生成的低通濾波器的過(guò)渡帶中的振幅過(guò)沖;圖6顯示運(yùn)行1和運(yùn)行2的種群最佳適應(yīng)度曲線;圖7顯示運(yùn)行4和運(yùn)行5的種群最佳適應(yīng)度曲線;圖8和圖9分別顯示人工設(shè)計(jì)的對(duì)應(yīng)于第一和第二問(wèn)題實(shí)例的濾波器的振幅和群時(shí)延響應(yīng)、以及右手邊的零極點(diǎn)圖;圖10是類似于圖8和圖9的、顯示問(wèn)題實(shí)例1運(yùn)行1的最優(yōu)群體中的最優(yōu)個(gè)體的圖;圖11是類似于圖8和圖9的、顯示問(wèn)題實(shí)例1運(yùn)行1的次優(yōu)群體中的最優(yōu)個(gè)體的圖;圖12是類似于圖8和圖9的、顯示問(wèn)題實(shí)例1運(yùn)行2的最優(yōu)群體中的最優(yōu)個(gè)體的圖;圖13是類似于圖8和圖9的、顯示問(wèn)題實(shí)例1運(yùn)行3的最優(yōu)群體中的最優(yōu)個(gè)體的圖;圖14是類似于圖10的、顯示問(wèn)題實(shí)例2運(yùn)行4的最優(yōu)群體中的最優(yōu)個(gè)體的圖;圖15是類似于圖10的、顯示問(wèn)題實(shí)例2運(yùn)行4的次優(yōu)群體中的最優(yōu)個(gè)體的圖;圖16是類似于圖10的、顯示問(wèn)題實(shí)例2運(yùn)行5的最優(yōu)群體中的最優(yōu)個(gè)體的圖;圖17顯示人工參考設(shè)計(jì)與運(yùn)行3得到的演化設(shè)計(jì)之間振幅的比較;以及圖18顯示人工參考設(shè)計(jì)與運(yùn)行3得到的演化設(shè)計(jì)之間延遲的比較。
本發(fā)明將從數(shù)字濾波器的設(shè)計(jì)來(lái)加以討論。要著重強(qiáng)調(diào)的是,本發(fā)明屬于用于硬件設(shè)計(jì)的演化計(jì)算技術(shù)。數(shù)字濾波器只是可以采用本發(fā)明來(lái)設(shè)計(jì)的一個(gè)硬件實(shí)例,本發(fā)明并不局限于數(shù)字濾波器或其設(shè)計(jì)。要描述的設(shè)計(jì)方法采用基于矢量的染色體表示方案,其中,利用若干交叉和變異算子來(lái)操縱這些染色體。如下文所述,可以采用適應(yīng)度共享(fitness sharing)來(lái)共同演化不同的設(shè)計(jì)。
采用本發(fā)明的方法來(lái)設(shè)計(jì)數(shù)字濾波器之所以具有吸引力,是因?yàn)槿缦略騿?wèn)題與工程有關(guān)。數(shù)字濾波器在通信系統(tǒng)中(通常在數(shù)字和模擬信號(hào)處理系統(tǒng)之間的接口處)扮演著非常重要的角色。實(shí)例為移動(dòng)通信、語(yǔ)音處理、調(diào)制解調(diào)器等。
數(shù)字濾波器可以是(通常都是)在可重構(gòu)硬件中實(shí)現(xiàn)的,因此適用于EHW。
雖然已成功建立了數(shù)字濾波器設(shè)計(jì)學(xué)科并對(duì)其進(jìn)行了很好的研究,但不存在通過(guò)通常可接受的努力就可獲得最優(yōu)設(shè)計(jì)的常規(guī)設(shè)計(jì)規(guī)程。數(shù)字濾波器是活躍的研究領(lǐng)域。
數(shù)字濾波器的設(shè)計(jì)空間意義明確,但是既龐大又復(fù)雜。意義明確的空間有利于不同結(jié)果的比較。既龐大又復(fù)雜的設(shè)計(jì)空間對(duì)于實(shí)施本發(fā)明的演化系統(tǒng)來(lái)說(shuō)是一個(gè)挑戰(zhàn),能夠較好地評(píng)估我們的系統(tǒng)在處理棘手的設(shè)計(jì)問(wèn)題方面的適用性。
一般可獲得濾波器性能的量度,從而提供較易計(jì)算的EA的適應(yīng)度量度。它還提供用于比較不同設(shè)計(jì)的直截了當(dāng)?shù)牧慷取?br>
數(shù)字濾波器有許多不同種類,具體取決于所采用的元件的類型(例如線性元件或非線性元件)、對(duì)互連的限制(例如有無(wú)反饋)以及預(yù)期的濾波器特性。設(shè)計(jì)各濾波器的難度取決于濾波器的確卻類型;對(duì)于某些類型,可利用分析方法,而對(duì)于另一些,則采用近似法??傊?,不同的濾波器通常需要不同的設(shè)計(jì)方法。專門從事設(shè)計(jì)一種類型的濾波器的設(shè)計(jì)人員可能設(shè)計(jì)不出其它類型的最優(yōu)濾波器。因?yàn)闆](méi)有通用的設(shè)計(jì)方法,所以演化設(shè)計(jì)自然成為人工設(shè)計(jì)的好的替代方法。
將要描述的實(shí)施例將本發(fā)明的方法應(yīng)用于W.S.Lu所著論文所描述的設(shè)計(jì)問(wèn)題中,該論文標(biāo)題為“設(shè)計(jì)具有均波通帶和峰值受限的最小二乘阻帶的穩(wěn)定的IIR濾波器”(IEEE Transactions on Circuitsand Systems IIAnalos and Digital Signal Processing,vol 46,no.11,pp 1421-1426,1999)。在該論文中,仍是以常規(guī)方法解決兩個(gè)問(wèn)題,生成兩種設(shè)計(jì)。所公布的結(jié)果允許將采用常規(guī)方法完成的設(shè)計(jì)性能與采用本發(fā)明的演化方法完成的設(shè)計(jì)性能作直接比較。
為了幫助理解,下文將說(shuō)明濾波器設(shè)計(jì)的一些基本理念和概念。雖然濾波器設(shè)計(jì)技術(shù)對(duì)于本專業(yè)人員來(lái)說(shuō)耳熟能詳,但是在濾波器設(shè)計(jì)教科書(shū)中可以發(fā)現(xiàn)更多的詳細(xì)信息,如A.Antonion所著《DigitalFilters-Ahalysis,Design and Applications)》,McGraw Hill International,第二版,1993年;以及T.W.Parks和C.S.Burrus所著《Dilgital FilterDesign.Topics in Digital Signal Processing》,John Wiley and Sons,1987年。
所述實(shí)施例考慮的是線性無(wú)限脈沖響應(yīng)(IIR)數(shù)字濾波器。對(duì)于線性濾波器,可以通過(guò)頻率響應(yīng)來(lái)表征其特性(behaviour)。這就是0與半取樣頻率之間所有頻率(這通常用ω表示,0<ω<ωθ/2,其中ωθ是取樣頻率)的輸出信號(hào)相對(duì)于輸入信號(hào)的相位和振幅。所要求的濾波器特性用頻率響應(yīng)來(lái)說(shuō)明。
一般來(lái)說(shuō),數(shù)字濾波器的設(shè)計(jì)過(guò)程通常包括兩個(gè)步驟。在第一步驟中,推導(dǎo)符合設(shè)計(jì)標(biāo)準(zhǔn)的濾波器的數(shù)學(xué)表述。然后在第二個(gè)步驟中將此表述轉(zhuǎn)換為硬件表述。這兩個(gè)步驟就難度、所采用的方法以及性能標(biāo)準(zhǔn)而言差異非常大。類似于多數(shù)濾波器設(shè)計(jì)論文,本說(shuō)明書(shū)也只考慮較難的第一步驟。此步驟得到最優(yōu)(接近最優(yōu))的多項(xiàng)式,該多項(xiàng)式然后可以轉(zhuǎn)換為硬件實(shí)現(xiàn)。
任何線性數(shù)字濾波器均可用復(fù)多項(xiàng)式函數(shù)即傳遞函數(shù)(等式1)以數(shù)學(xué)形式來(lái)表示??梢詫⒋硕囗?xiàng)式函數(shù)即等式2重新寫為兩個(gè)積項(xiàng)的商,其中分子指定多項(xiàng)式的零點(diǎn),而分母指定極點(diǎn)。該函數(shù)通常具有一個(gè)比例常數(shù)(等式2)。這兩種表述是等效的。將零-極點(diǎn)表述變換為多項(xiàng)式表述很容易,但是反之并非如此。通過(guò)計(jì)算z=ejωT(T為取樣頻率)的值從傳遞函數(shù)來(lái)推導(dǎo)頻率響應(yīng)。
H(z)=Σi=0nbizn-iz(n-r)Σi=0rbizr-i]]>等式(1)H(z)=b0×(z-zz0)(z-zz1)...(z-zzn)zr-i(z-zp0)(z-zp1)...(z-zpi)]]>等式(2)
并非所有傳遞函數(shù)都可以用硬件濾波器來(lái)實(shí)現(xiàn)。必須遵守兩個(gè)主要要求實(shí)數(shù)系數(shù)多項(xiàng)式表述中的系數(shù)直接轉(zhuǎn)換為硬件實(shí)現(xiàn)中的乘數(shù)。讓信號(hào)與復(fù)數(shù)相乘是非常困難的,故所有系數(shù)都應(yīng)該都是實(shí)數(shù)。從零極點(diǎn)角度來(lái)看,如果所有極點(diǎn)和零點(diǎn)都是實(shí)數(shù)或以復(fù)共軛對(duì)的形式(即a+jb和a-jb)存在,則這是可以實(shí)現(xiàn)的。
穩(wěn)定性因?yàn)橐话愕腎IR濾波器具有反饋回路,所以它可能振蕩。輸出可能會(huì)無(wú)限增大(或在硬件中增大直到溢出)。在穩(wěn)定的濾波器中,有界輸入始終會(huì)得到有界輸出。僅當(dāng)所有極點(diǎn)都在單位圓內(nèi),即‖a+jb‖<1,濾波器才是穩(wěn)定的。雖然特定應(yīng)用中要用到非穩(wěn)定濾波器,但多數(shù)濾波器都被設(shè)計(jì)成穩(wěn)定濾波器。
濾波器的性能通常為多目標(biāo)的。不存在適用于所有濾波器的通用標(biāo)準(zhǔn)。精度目標(biāo)取決于濾波器的類型及它們的應(yīng)用所施加的工程約束。所考慮的兩種實(shí)例濾波器都是低通濾波器。應(yīng)用實(shí)例會(huì)是一個(gè)角頻率為20千赫茲的電話系統(tǒng)中的濾波器。頻率低于此頻率的信號(hào)應(yīng)無(wú)改變地通過(guò)濾波器,而高于此頻率的信號(hào)應(yīng)該被抑止。理想的低通濾波器會(huì)允許信號(hào)在低頻區(qū)(通帶)無(wú)改變地通過(guò),而在高頻區(qū)(阻帶)完全阻止信號(hào)。實(shí)際上,過(guò)渡帶常常位于通帶和阻帶之間。濾波器設(shè)計(jì)的目標(biāo)就是要使信號(hào)在通帶中的失真最小化,而使信號(hào)在阻帶中受到最大的抑制。過(guò)渡帶應(yīng)該盡可能地窄。
要使信號(hào)在通帶中的失真最小化,必須滿足兩個(gè)標(biāo)準(zhǔn)。第一個(gè)標(biāo)準(zhǔn)是通帶的頻率響應(yīng)特征的振幅應(yīng)該盡可能地恒定。例如,語(yǔ)音信號(hào)中的所有頻率應(yīng)該按照完全相同的量予以放大。
第二個(gè)標(biāo)準(zhǔn)是通帶的相位必須盡可能為線性的。在實(shí)際情況中,常常采用所謂的群時(shí)延,即相位的一階倒數(shù)δ/δω。因此第二個(gè)標(biāo)準(zhǔn)可以稱為恒定的群時(shí)延。這意味著濾波器使所有頻率延遲相同的時(shí)間量。如果群時(shí)延不是恒定的,則某些頻率通過(guò)濾波器較其他頻率快,從而導(dǎo)致輸出的信號(hào)失真。
在阻帶中,設(shè)計(jì)目標(biāo)通常要使信號(hào)盡可能地衰減。因?yàn)樾盘?hào)衰減,阻帶中的信號(hào)的相位和群時(shí)延通常變得不重要。
對(duì)于過(guò)渡帶,很少采用約束。
圖2顯示典型的低通濾波器。上半部分顯示振幅,而下半部分顯示群時(shí)延。理想的特性曲線24用粗線表示,只要實(shí)際特性曲線(細(xì)線)26在陰影區(qū)內(nèi),則就是可接受的。
為了有助于采用體現(xiàn)本發(fā)明的方法來(lái)設(shè)計(jì)的濾波器與其他現(xiàn)有技術(shù)的設(shè)計(jì)作比較,只要有可能,本報(bào)告就沿用前述W.S.Lu文章中所用標(biāo)準(zhǔn),即1.通帶和阻帶中振幅的加權(quán)平方誤差;2.阻帶中的峰值振幅;3.對(duì)通帶中恒定振幅的最大偏移;4.對(duì)目標(biāo)群時(shí)延的最大偏移;以及5.穩(wěn)定性。
人類專家所用的常規(guī)設(shè)計(jì)過(guò)程采用標(biāo)準(zhǔn)(1)作為最優(yōu)標(biāo)準(zhǔn),而以具有預(yù)定義值的標(biāo)準(zhǔn)(2)至(5)作為約束。要檢查我們的演化系統(tǒng)是否可以發(fā)現(xiàn)比人工設(shè)計(jì)更好的設(shè)計(jì),還可以應(yīng)用標(biāo)準(zhǔn)(2)至(5)作為我們的演化系統(tǒng)中的約束。具體來(lái)說(shuō),通過(guò)實(shí)現(xiàn)染色體表示法中穩(wěn)定性充分條件的穩(wěn)定性線性不等式來(lái)確保穩(wěn)定性。在下文適當(dāng)?shù)臅r(shí)候?qū)?duì)如何在體現(xiàn)本發(fā)明的演化系統(tǒng)中實(shí)現(xiàn)適應(yīng)度函數(shù)的詳細(xì)說(shuō)明作討論。
濾波器設(shè)計(jì)的演化方法演化算法(EA)指根據(jù)自然界演化的思想和原理設(shè)計(jì)的一類基于種群的隨機(jī)搜索算法。這些思想和原理包括演化策略(ES)[參見(jiàn)H-P Schwefal的“演化和最優(yōu)化搜索”,紐約,John Wiley & Sons 1995年];演化編程(EP)[參見(jiàn)D.B.Fogel的“演化計(jì)算面向機(jī)器智能的新哲學(xué)”;紐約,NY;IEEE Press,1995年]以及遺傳算法(GA),[參見(jiàn)D.E.Goldberg的“搜索、最優(yōu)化和機(jī)器學(xué)習(xí)閱讀中的遺傳算法”MAAddison-Wesley,1989年]。所有這些算法的一個(gè)重要特征是它們的基于種群的搜索策略。種群中的個(gè)體彼此競(jìng)爭(zhēng)并交換信息,以便執(zhí)行某些任務(wù)。EA的一般框架可以通過(guò)圖3來(lái)說(shuō)明。
已經(jīng)表明,EA尤其適用于處理大型復(fù)雜問(wèn)題,可產(chǎn)生許多局部最優(yōu)解。與傳統(tǒng)的基于梯度的搜索算法相比,EA算法較少可能陷入局部最小值。它們不依賴于梯度信息,因此非常適合于此類信息不可獲得或者獲取或估算此類信息的成本非常高的問(wèn)題。它們甚至可以處理沒(méi)有明確的和/或具體的目標(biāo)函數(shù)可供利用的問(wèn)題。這些特征使它們較之許多其他搜索算法更為穩(wěn)健。
染色體表示法選擇每個(gè)個(gè)體的(染色體)表示對(duì)于任何EA的成功都是至關(guān)重要的。它不只定義搜索空間(連同搜索算子),而且還可以將偏置(bias)引入演化設(shè)計(jì)過(guò)程。如果我們對(duì)有關(guān)問(wèn)題擁有豐富的現(xiàn)有知識(shí),就可以利用此類知識(shí)推導(dǎo)出使搜索更有效率的某些偏置。但是,不正確的偏置會(huì)將演化搜索(evolutionary search)帶入歧途。我們應(yīng)該使可能通過(guò)表示法引入的強(qiáng)偏置最小化。因此,表示法應(yīng)該滿足若干條件。在本實(shí)施例中,還存在如下的附加考慮表示法必須便于發(fā)現(xiàn)創(chuàng)新設(shè)計(jì)和設(shè)計(jì)基因(design gene)。
EA中所采用的表示法必須“適用于”應(yīng)用領(lǐng)域。更具體地來(lái)說(shuō),一個(gè)好的表示法應(yīng)該將如下事宜納入考慮完整性表示法應(yīng)該能夠表示所有潛在的令人感興趣的設(shè)計(jì);可行性此表示法下的所有基因型可以變換為可行的表現(xiàn)型;局部性相似的基因型產(chǎn)生相似的表現(xiàn)型;平滑性基因型中的微小變化應(yīng)導(dǎo)致其適應(yīng)度產(chǎn)生微小變化。
本節(jié)討論如何用染色體(即基因型)來(lái)表示定義濾波器的傳遞函數(shù)。
如上所述,傳遞函數(shù)一般以如下兩種形式之一給出濾波器的多項(xiàng)式或零-極點(diǎn)表述。因?yàn)閭鬟f函數(shù)與頻率響應(yīng)特征曲線之間的直接關(guān)系,可以直接對(duì)傳遞函數(shù)(等式2)的零-極點(diǎn)形式中的極點(diǎn)和零點(diǎn)進(jìn)行解釋當(dāng)前頻率附近的極點(diǎn)使信號(hào)放大;而零點(diǎn)則使信號(hào)衰減。因?yàn)闃O點(diǎn)和零點(diǎn)是復(fù)數(shù),所以復(fù)數(shù)平面中的位置自然可以極坐標(biāo)來(lái)表示。在這種坐標(biāo)系下,角度直接指定極點(diǎn)或零點(diǎn)有效時(shí)的頻率,而距原點(diǎn)的距離指示信號(hào)“強(qiáng)度”。
作為一個(gè)替代方案,還可以直接將多項(xiàng)式(等式1)的復(fù)數(shù)參數(shù)編碼為基因型。但是,在這種表示法下,這些參數(shù)與頻率響應(yīng)并無(wú)“顯而易見(jiàn)”的聯(lián)系。通常不可能說(shuō)參數(shù)的變化會(huì)如何改變頻率響應(yīng)。再者,對(duì)復(fù)參數(shù)直接編碼,也無(wú)法直接測(cè)試穩(wěn)定性,而采用極坐標(biāo)時(shí)則是可能的。
基于極坐標(biāo)的零極點(diǎn)表示法具有如下優(yōu)點(diǎn)。
它可以表示所有線性IIR濾波器;如下所示,它可以確保所有表現(xiàn)型的可行性;使局部性(locality)保留即,相似的基因型將會(huì)有相似的頻率響應(yīng);以及搜索空間相對(duì)平滑,因?yàn)榛蛐偷淖兓瘜?dǎo)致頻率響應(yīng)的微小變化,繼而在多數(shù)情況下導(dǎo)致基因型的適應(yīng)度的微小變化。
濾波器的傳遞函數(shù)可以用一系列成對(duì)的實(shí)數(shù)值數(shù)字表示,其中每對(duì)數(shù)字表示極點(diǎn)或零點(diǎn)的極坐標(biāo)。一附加的實(shí)值數(shù)對(duì)用于編碼比例參數(shù)bo。每對(duì)實(shí)值數(shù)被稱為基因。
為了應(yīng)用所指定的約束,當(dāng)基因型映射到表現(xiàn)型(即變化函數(shù))時(shí),需要將極點(diǎn)和零點(diǎn)置于實(shí)軸上(即IM(z)=O),或者以共軛復(fù)數(shù)對(duì)的形式出現(xiàn)。所有極點(diǎn)必須位于單位圓內(nèi),以確保濾波器的穩(wěn)定性。
例如,Np2+Np1+Nz2+Nz1+1對(duì)實(shí)值數(shù)的基因型由Np2個(gè)極點(diǎn)對(duì)構(gòu)成基因型中的每對(duì)實(shí)值數(shù)表示一個(gè)復(fù)數(shù)極點(diǎn)。共軛復(fù)數(shù)極點(diǎn)通過(guò)基因型-表現(xiàn)型映射自動(dòng)生成,以確保濾波器是可行的。半徑可以在-1.0和1.0之間,確保穩(wěn)定性。
Np1個(gè)單極點(diǎn)對(duì)于這些極點(diǎn),忽略角度。只利用半徑來(lái)確定在實(shí)軸上的位置。半徑限于-1.0和1.0之間。
Nz2個(gè)零點(diǎn)對(duì)確定零點(diǎn)共軛復(fù)數(shù)對(duì)之一,則自動(dòng)生成其成對(duì)者。半徑可以處于-1.0和1.0之間,但是按因子RzMx在基因型-表現(xiàn)型映射中縮放。
Nz1個(gè)單零點(diǎn)忽略角度。半徑處于-1.0和1.0之間,按因子RzMx縮放。
比例因子b0忽略角度。半徑用于縮放多項(xiàng)式,它處于在-1.0和1.0之間,按因子SMax縮放。
此外,傳遞函數(shù)在原點(diǎn)可以具有N(po)個(gè)極點(diǎn)。下表1顯示一個(gè)基因型實(shí)例,它具有兩對(duì)共軛復(fù)數(shù)零點(diǎn)、一個(gè)單實(shí)數(shù)零點(diǎn)、一對(duì)共軛復(fù)數(shù)極點(diǎn)以及一個(gè)單實(shí)數(shù)極點(diǎn)。它在原點(diǎn)還有兩個(gè)極點(diǎn)。如果假定零點(diǎn)比例因子RzMx為2.0,而總體比例因子SMax=3.0,基因型則變換為如下表現(xiàn)型(傳遞函數(shù))H(z)=5.1×(z-(0.65+j1.67))(z-(0.65-j1.67))(z-(-0.39+j1.14))(z-(-0.39-j1.14))(z-0.4)z2×(z-(-0.40+j0.57))(z-(-0.40-j0.57))(z-0.5)]]>
零點(diǎn)所采用的比例因子和bo表示所有實(shí)值數(shù)字對(duì)都具有完全相同的范圍半徑介于-1.0和1.0之間,角度介于-π和π之間。這通常有利于在缺乏有關(guān)零點(diǎn)、極點(diǎn)之間差異和b0的特殊知識(shí)的情況下執(zhí)行演化搜索。比例因子Rmax和Smax是在多次試驗(yàn)中固定下來(lái)的。將它們?cè)O(shè)置得最優(yōu)需要一些領(lǐng)域知識(shí)。
搜索算子演化搜索算子的設(shè)計(jì)與染色體表示密切相關(guān)。因?yàn)榛蚴菍?shí)值數(shù)字對(duì),而不是單一的數(shù)字,所以需要新的搜索算子,如交叉和變異。在本技術(shù)領(lǐng)域中,將交叉和變異算子用于染色體表示是眾所周知的。
交叉算子因?yàn)榘霃?角度對(duì)密切相關(guān),故允許用交叉操作將它們分開(kāi)似乎沒(méi)有什么意義。因此交叉點(diǎn)限于這些對(duì)之間。換言之,兩個(gè)父代只可能在兩個(gè)基因之間交叉,而不可能在一個(gè)基因內(nèi)交叉。均勻交叉(uniform crossover)和兩點(diǎn)間交叉都已經(jīng)實(shí)現(xiàn),但多數(shù)試驗(yàn)采用的是后者。值得一提的是,所實(shí)現(xiàn)的均勻交叉和兩點(diǎn)交叉算子是它們二進(jìn)制對(duì)應(yīng)部分的通用化版本。
變異算子因?yàn)樵试S的范圍不同,角度變異的執(zhí)行不同于半徑變異。這兩種情況中都用到柯西變異(Cauchy mutation)。變異算子中的比例因子p是固定的,但對(duì)角度和半徑而言則有所不同。當(dāng)半徑變異時(shí),搜索空間的邊緣會(huì)反映該變異(例如,如果極點(diǎn)的當(dāng)前半徑為0.9且變異為+0.3,則最后為(1.0-0.2)=0.8)。當(dāng)角度變異時(shí),其值只是在±π處“反轉(zhuǎn)(wrap around)”。
我們已經(jīng)理解,所有極點(diǎn)和零點(diǎn)的位置之間具有高度相關(guān)性,因此使單個(gè)極點(diǎn)或零點(diǎn)變異導(dǎo)致改進(jìn)的適應(yīng)度的可能性較小。另一個(gè)方面,同時(shí)使所有值變異,似乎對(duì)基因型干擾太多。作為折衷,采用如下方法因?yàn)槊總€(gè)基因?qū)儆谝环N基因型,隨機(jī)決定是否要使該基因變異。這樣設(shè)置變異概率,使得每個(gè)基因型平均有2或3個(gè)基因變異。
鼓勵(lì)和維持多樣性當(dāng)設(shè)計(jì)復(fù)雜性很高的數(shù)字濾波器時(shí),算法需要搜索的搜索空間通常非常大。搜索空間高度相關(guān)且具有許多大的、假的、低適應(yīng)度的局部最優(yōu)解。天真的EA可能容易地過(guò)早收斂到局部最優(yōu)解上,而難于發(fā)現(xiàn)可接受的結(jié)果。
為了避免過(guò)早收斂,要點(diǎn)在于在整個(gè)演化過(guò)程中鼓勵(lì)和保持種群的多樣性。利用帕瑞托優(yōu)化、適應(yīng)度共享和分組可以實(shí)現(xiàn)種群多樣性。
帕瑞托適應(yīng)度濾波器性能通常都是多目標(biāo)的?;谂寥鹜羞m應(yīng)度的選擇方案是我們的EA的自然選擇。在帕瑞托選擇法中,可以采用使用任何數(shù)量的標(biāo)準(zhǔn)。僅需要在個(gè)體之間根據(jù)優(yōu)勢(shì)條件(domincance)建立局部等級(jí)。如果根據(jù)至少一個(gè)標(biāo)準(zhǔn)一個(gè)個(gè)體的適應(yīng)度高于另一個(gè)的適應(yīng)度,而根據(jù)其余的標(biāo)準(zhǔn)其適應(yīng)度與另一個(gè)體的相當(dāng),則該個(gè)體控制該另一個(gè)體。一個(gè)種群通常包括許多非受控個(gè)體,它們被稱為“帕瑞托前沿”。在帕瑞托前沿的個(gè)體中,不能說(shuō)哪個(gè)比另一個(gè)好。
帕瑞托前沿的不同區(qū)域中的不同個(gè)體可能具有很不相同的基因型。因?yàn)樗鼈兪欠鞘芸氐?,所以它們?yīng)該不會(huì)彼此直接競(jìng)爭(zhēng)??梢葬槍?duì)不同標(biāo)準(zhǔn)而優(yōu)化的帕瑞托適應(yīng)度(和選擇法),使我們的EA能夠探索搜索空間中的不同區(qū)域。這種方法可以在同一種群中支持不同的高適應(yīng)度設(shè)計(jì)。
適應(yīng)度共享雖然帕瑞托最優(yōu)化可以探索搜索空間中的不同區(qū)域,但是它未將任何選擇壓力引入EA以增加多樣性。因此多數(shù)帕瑞托最優(yōu)化方案實(shí)施生境定位(niching)或適應(yīng)度共享。適應(yīng)度共享指用于修改個(gè)體的原始適應(yīng)度,以便“類似的”個(gè)體共享適應(yīng)度,即使它們的適應(yīng)度降低,其中相似度測(cè)量是適應(yīng)度共享技術(shù)中的關(guān)鍵問(wèn)題。這里兩個(gè)個(gè)體的相似度是通過(guò)它們之間的基因型距離來(lái)定義的。
以前的研究表明,適應(yīng)度共享可以在演化過(guò)程中增加和維持種群的多樣性,鼓勵(lì)發(fā)現(xiàn)不同的個(gè)體。我們已經(jīng)發(fā)現(xiàn)在我們的演化設(shè)計(jì)系統(tǒng)中適應(yīng)度共享對(duì)增加和維持種群多樣性起了非常大的作用。
相似度測(cè)量?;蛐陀扇舾蓪?shí)數(shù)對(duì)構(gòu)成。每對(duì)描述復(fù)數(shù)平面中的一個(gè)點(diǎn)。因此可以將兩個(gè)基因型的匹配點(diǎn)之間的歐幾里德距離用作它們之間距離的量度。需要特別注意的是那些角度被忽略了的對(duì)(單極點(diǎn)、單零點(diǎn)和總的縮放比例)。在此情況中采用的是常量角度。只有基因型中位置上的點(diǎn)才匹配。極點(diǎn)和零點(diǎn)并不分類。如果兩個(gè)個(gè)體具有相同的極點(diǎn)和零點(diǎn),但在基因型中的順序不同,則它們之間有很大的距離。對(duì)所有對(duì)累加該距離,從而得到兩個(gè)基因型之間的總距離。
距離計(jì)算是在笛卡兒坐標(biāo)系中計(jì)算的。為了減少適應(yīng)度共享中的轉(zhuǎn)換時(shí)間,每個(gè)基因型都緩存了極坐標(biāo)的等效笛卡兒數(shù)據(jù)。
除適應(yīng)度共享外,將要描述的分組也需要距離計(jì)算。
共享適應(yīng)度。適應(yīng)度共享根據(jù)種群中占據(jù)同一個(gè)“小生境”的其他個(gè)體的數(shù)量來(lái)修改個(gè)體的原始適應(yīng)度。因?yàn)榫嚯x計(jì)算的計(jì)算成本很高,所以只將每個(gè)個(gè)體與種群中個(gè)體的少量隨機(jī)樣本作比較。這有點(diǎn)類似于隱性適應(yīng)度共享。如果如上述計(jì)算得到的兩個(gè)個(gè)體之間的距離低于門限距離(即小生境半徑),則個(gè)體的“小生境計(jì)數(shù)”增加一個(gè)與該距離成反比的值。小生境計(jì)數(shù)通過(guò)除以已作過(guò)比較的個(gè)體的樣本數(shù)歸一化。
在本共享算法中,只有總的組合適應(yīng)度(combined fitness)受共享影響。因?yàn)檫m應(yīng)度的定義認(rèn)為較低適應(yīng)度較好,故適應(yīng)度共享需要增加具有非零小生境計(jì)數(shù)的個(gè)體的適應(yīng)度值。共享適應(yīng)度按照適應(yīng)度*(1.0+小生境計(jì)數(shù)*c8),其中c8是調(diào)整共享度的參數(shù)。我們的算法中還有其他一些參數(shù),例如,小生境半徑和從種群中抽取的樣本的數(shù)目。
為了允許更大的靈活性,使組合適應(yīng)度、共享適應(yīng)度以及歸一化的小生境計(jì)數(shù)均可供選擇法利用。
每群體自適應(yīng)共享。適應(yīng)度共享中一個(gè)重要的參數(shù)是共享(小生境)半徑。如果它太大,則太多個(gè)體落在該半徑內(nèi),這樣個(gè)體共享值之間只有很小的差距。如果該半徑太小,則只有少數(shù)個(gè)體在該小生境半徑內(nèi)擁有任何其他個(gè)體也只獲得有關(guān)小生境大小的很少信息。在分組演化算法的運(yùn)行過(guò)程中,個(gè)體分布變化顯著,從在初始種群下個(gè)體在搜索空間上均勻分布到后來(lái)個(gè)體集中到少數(shù)群體上。再者,不同的群體具有不同分布,具體視其適應(yīng)度曲線(fitnesslandscape)的形狀而定在某些適應(yīng)度峰值區(qū)(fitness peak),個(gè)體的緊密程度遠(yuǎn)大與其他峰區(qū)。因此,根據(jù)本發(fā)明的最佳實(shí)施例,小生境半徑不是固定的,而是根據(jù)當(dāng)前的種群分布按群體來(lái)計(jì)算的。在每一代中,在利用該特定群體的當(dāng)前半徑進(jìn)行共享計(jì)算之后,該群體的新半徑最好計(jì)算為該群體中個(gè)體的當(dāng)前平均基因型距離的0.5倍。
分組帕瑞托選擇法允許位于帕瑞托前沿的個(gè)體只要是非受控的就可以共存。適應(yīng)度共享可以幫助增加和維持種群多樣性。這兩種技術(shù)都不擅長(zhǎng)于幫助受控個(gè)體在種群中幸存下來(lái)。
為了搜索大設(shè)計(jì)空間的不同區(qū)域并發(fā)現(xiàn)不同的高質(zhì)量解,在多數(shù)選擇方案中優(yōu)選非受控個(gè)體,它們常常構(gòu)成群體很大的一部分。一旦建立了帕瑞托前沿,它將控制任何進(jìn)一步的搜索。
帕瑞托前沿可以具有“極端”區(qū)域,其中,根據(jù)至少一個(gè)目標(biāo),適應(yīng)度極好,但是根據(jù)其他目標(biāo)又非常差。它還可以具有“折衷”區(qū)域,其中,適應(yīng)度根據(jù)不同目標(biāo)既不非常好,也不非常差。圖4顯示考慮兩個(gè)目標(biāo)時(shí)的這樣兩種情況。在該附圖中,極端區(qū)域?yàn)檫m應(yīng)度1或適應(yīng)度2低于1的部分。折衷區(qū)域?yàn)橛嘞碌牟糠帧o@然,我們對(duì)任何極端區(qū)域都不會(huì)感興趣,因?yàn)楦鶕?jù)目標(biāo)之一適應(yīng)度太差而不可接受。而在折衷區(qū)域有大量值得進(jìn)一步探尋的潛在解。
當(dāng)在我們的演化系統(tǒng)中采用了帕瑞托選擇法和適應(yīng)度共享時(shí),種群中的具有相同零-極點(diǎn)配置的個(gè)體往往變化很小。單單帕瑞托選擇法和適應(yīng)度共享不足于得到顯著不同的設(shè)計(jì)。為此,采用兩階段分組算法。在第一階段,算法搜索很大的空間,意圖在于發(fā)現(xiàn)盡可能多的好的“群體”。對(duì)每個(gè)群體維持獨(dú)立的帕瑞托前沿,從而確保了不會(huì)有單個(gè)群體可以控制帕瑞托前沿。在第二階段,算法在一定程度上分別對(duì)所有各群體進(jìn)行單獨(dú)搜索,在群體中不進(jìn)行任何遺傳物質(zhì)的交換。
帕瑞托選擇法、適應(yīng)度共享得到感興趣且有希望的結(jié)果。一個(gè)或兩個(gè)將長(zhǎng)時(shí)間維持其在最佳“組合適應(yīng)度”方面優(yōu)勢(shì)的群體常??梢院芸斓匕l(fā)現(xiàn)好的解。但是,當(dāng)所述一個(gè)或兩個(gè)群體達(dá)到其極限而停止改善時(shí)更好的解最終會(huì)從其他群體中出現(xiàn)。分組不止有助于增加和維持種群多樣性,還有助于發(fā)現(xiàn)更好的解。
帕瑞托選擇法、適應(yīng)度共享以及分組的一個(gè)缺點(diǎn)是引入了額外的計(jì)算時(shí)間。雖然為了獲得更好且創(chuàng)新的設(shè)計(jì),花費(fèi)此時(shí)間可能是恰當(dāng)?shù)?,而且花費(fèi)此時(shí)間可能遠(yuǎn)比由設(shè)計(jì)人員完成相同的設(shè)計(jì)所花時(shí)間少,但仍希望盡可能減少計(jì)算時(shí)間。采用將要描述的自適應(yīng)約束可以顯著減少計(jì)算時(shí)間。
適應(yīng)度評(píng)估適應(yīng)度評(píng)估是設(shè)計(jì)中的一個(gè)難題,因?yàn)樵O(shè)計(jì)任務(wù)通常都是多目標(biāo)的,且有時(shí)難以量化設(shè)計(jì)質(zhì)量。適應(yīng)度評(píng)估按三個(gè)步驟完成。第一,根據(jù)上述的映射將基因型轉(zhuǎn)換為表現(xiàn)型。此表現(xiàn)型是濾波器的傳遞函數(shù)。第二,通過(guò)每隔一定時(shí)間間隔對(duì)傳遞函數(shù)取樣來(lái)導(dǎo)出頻率響應(yīng)。根據(jù)頻率響應(yīng)計(jì)算出若干適應(yīng)度值(根據(jù)不同的目標(biāo))。第三,執(zhí)行適應(yīng)度共享。
生成頻率響應(yīng)曲線該傳遞函數(shù)實(shí)際是兩個(gè)積的商。每個(gè)積包含形式為(z-zpn)或(z-zzn)的若干項(xiàng),其中zpn和zzn是由基因型推導(dǎo)出的極點(diǎn)和零點(diǎn)(參見(jiàn)等式2)。單個(gè)頻率的濾波器響應(yīng)可以通過(guò)計(jì)算z=ejω、和、積以及最后的商容易地計(jì)算得到。對(duì)0≤ω≤2π重復(fù)進(jìn)行計(jì)算以得到頻率響應(yīng)。
所有計(jì)算都涉及復(fù)數(shù)。對(duì)于具有許多項(xiàng)的復(fù)雜濾波器,計(jì)算頻率響應(yīng)需要大量計(jì)算。如果考慮極點(diǎn)和零點(diǎn)要么位于實(shí)軸上要么以共軛復(fù)數(shù)對(duì)形式出現(xiàn),則可以節(jié)省少量計(jì)算時(shí)間。計(jì)算工作量直接取決于計(jì)算中所用的樣本數(shù)。實(shí)踐中,對(duì)通帶和阻帶采用不同的取樣率有時(shí)是合理的。樣本的數(shù)量和分布(placement)對(duì)設(shè)計(jì)中的不同目標(biāo)有不同的影響。一些目標(biāo)(即根據(jù)這些目標(biāo)的適應(yīng)度值)對(duì)樣本的數(shù)量和分布相當(dāng)敏感,而另一些則不然。這種敏感度問(wèn)題并非演化方法所獨(dú)有。濾波器設(shè)計(jì)的任何其他方法同樣會(huì)出現(xiàn)此問(wèn)題,包括人類專家所進(jìn)行的設(shè)計(jì)。
適應(yīng)度值對(duì)應(yīng)于每個(gè)帶單獨(dú)計(jì)算。
通帶和過(guò)渡帶。人類專家一般不在過(guò)渡帶對(duì)濾波器的性能施加任何約束。但是,我們發(fā)現(xiàn)在過(guò)渡帶常常出現(xiàn)很大的“過(guò)沖”,如圖5所示。換言之,非常接近于截頻頻率的信號(hào)會(huì)被強(qiáng)烈地放大。這可能導(dǎo)致信號(hào)失真。因此,在我們的系統(tǒng)的通帶的一些適應(yīng)度值中包括了過(guò)渡帶,即在下列的條目(1)和(3)中。
在通帶和過(guò)渡帶的適應(yīng)度評(píng)估中計(jì)算四個(gè)值。
因此,通帶和過(guò)渡帶的標(biāo)準(zhǔn)如下1.通帶和過(guò)渡帶上與振幅1.0的最大偏差(以分貝計(jì))在信號(hào)大于1.0的區(qū)域中。
2.振幅在允許頻帶之外的所有樣本的總和,
為(amplitudeMaxAllowedAmplitude)4-1,]]>如果信號(hào)大于1.0,包括過(guò)渡帶;為(MinAllowedAmplitudeamplitude)4-1,]]>如果信號(hào)小于1.0,排除過(guò)渡帶。
3.僅僅通帶上的累計(jì)平方誤差,即∑(amplitude-1.0)2。
4.群時(shí)延與目標(biāo)群時(shí)延的最大偏差。
5.群時(shí)延在允許頻帶之外的所有樣本的總和,為(delay-max AllowedDelay)8-1或(min AllowedDelay-delay)8-1。
阻帶 在阻帶中,忽略信號(hào)的相位。對(duì)振幅要計(jì)算三個(gè)值阻帶的標(biāo)準(zhǔn)如下6.通帶上的最大振幅按如下公式轉(zhuǎn)換成分貝并取倒數(shù)如果maxAmplitude<0.99則1/(-20×log10(maxAmplitude));否則11.455×20×(1+log10(maxAmplitude/0.99))需要第二種形式以便得到對(duì)實(shí)際上并不實(shí)現(xiàn)任何低通特性、但在阻帶中振幅大于1.0的濾波器有用的結(jié)果。
7.振幅超過(guò)允許頻帶的所有樣本的總和,為(amplitude/maxAllowedAmplitude)4-1。
8.阻帶上的振幅的累計(jì)平方。
在所有(1至8)的情況中,值總是越小越好。該系統(tǒng)被實(shí)現(xiàn)為使“適應(yīng)度”最小化。情況1至8為濾波器設(shè)計(jì)提供一組共8個(gè)標(biāo)準(zhǔn)。
組合適應(yīng)度 對(duì)于多目標(biāo)最優(yōu)問(wèn)題,很少存在最佳個(gè)體,對(duì)所有目標(biāo),該個(gè)體都比所有其他個(gè)體好。換言之,不存在可以在整個(gè)演化搜索中引導(dǎo)演化朝著正確方向的單個(gè)目標(biāo)(準(zhǔn)確說(shuō)是適應(yīng)度值)。我們需要將所有目標(biāo)納入考慮。在我們的工作中,我們已采用組合適應(yīng)度值,它是根據(jù)不同適應(yīng)度的值加權(quán)求和得到的。在我們的多數(shù)試驗(yàn)中,組合適應(yīng)度函數(shù)是上述(1)、(4)和(6)項(xiàng)的加權(quán)和。所采用的加權(quán)系數(shù)分別為10、10和100。
父代的選擇父代的選擇對(duì)EA的性能有很大影響。我們的多數(shù)試驗(yàn)都采用如下四種方法之一來(lái)完成1.利用組合適應(yīng)度的競(jìng)賽選擇法(Tournament selection);2.利用共享適應(yīng)度的競(jìng)賽選擇法;3.利用小生境計(jì)數(shù)的基于優(yōu)勢(shì)條件的競(jìng)賽選擇法如果一個(gè)個(gè)體是不受控的,而其他個(gè)體是受控的,則非受控個(gè)體贏得競(jìng)賽。否則,具有最小小生境計(jì)數(shù)的個(gè)體勝出;4.利用群體大小的基于優(yōu)勢(shì)條件的競(jìng)賽選擇法同上,但利用的是同一群體的個(gè)體數(shù)而非小生境計(jì)數(shù)。
目前確信上述的2提供了種群中最佳個(gè)體質(zhì)量與種群多樣性之間的最佳折衷方案。
替代策略替代策略用于從所有父代和后代集合中選擇要幸存到下一代的個(gè)體。這不同于上述的父代選擇。我們已經(jīng)在我們的演化系統(tǒng)中實(shí)現(xiàn)了若干替代策略。已發(fā)現(xiàn)基于群體的替代策略非常有效。
群體替代策略由四個(gè)步驟構(gòu)成。在第一個(gè)步驟中,將個(gè)體分配給若干群體之一。標(biāo)識(shí)非受控的個(gè)體。在接下來(lái)的兩個(gè)步驟中,就哪些非受控個(gè)體將幸存到下一代作出決策。最后,用所有父代和后代集合中剩下的個(gè)體填充下一代中的剩余空缺。
分組和帕瑞托前沿的標(biāo)識(shí)最近的研究表明帕瑞托最優(yōu)解中精英論(elitism)的優(yōu)點(diǎn)。在精英帕瑞托最優(yōu)化中,帕瑞托前沿成員被移到外部存儲(chǔ)器中,而無(wú)須為生存而與其他個(gè)體競(jìng)爭(zhēng)。我們已經(jīng)實(shí)現(xiàn)它的簡(jiǎn)易版本。在我們的例子中,帕瑞托前沿的成員仍舊是種群中的一部分,但被標(biāo)記為非受控的。因此,它們多數(shù)將自動(dòng)幸存到下一代。
因?yàn)榉纸M,在我們的演化系統(tǒng)中,種群中會(huì)存在多個(gè)帕瑞托前沿。分組的動(dòng)機(jī)是要維持多個(gè)帕瑞托前沿,使得它們不彼此競(jìng)爭(zhēng)。
我們的替代策略的第一個(gè)步驟是確保將每個(gè)個(gè)體分配到群體之一中。群體的數(shù)量在整個(gè)運(yùn)行過(guò)程中是固定的(但是,某些群體可能是空的)。算法每運(yùn)行一次有三個(gè)階段,其中,以不同的方式進(jìn)行分組。
初始階段在生成初始種群之后,利用如上計(jì)算的基因型之間的距離采用k-means分組算法對(duì)種群分組。k-means分組的結(jié)果是,為每個(gè)群體建立了一個(gè)群體中心(cluster-center)。
探索階段此階段的目的在于標(biāo)識(shí)數(shù)量足夠多的有一定機(jī)會(huì)生成感興趣的結(jié)果的不同群體。在此階段中,至少每隔n代(我們的多數(shù)試驗(yàn)中采用n=100)使種群重新進(jìn)行一次分組。通過(guò)來(lái)自相同群體的父代之間的交叉或者通過(guò)單個(gè)父代變異而創(chuàng)建的后代將被分配到這些父代所在的相同群體中。其他后代將被分配到中心與之最接近的群體。如果到最近中心的距離大于種群中任何兩個(gè)群體中心之間的最大距離的m(我們的多數(shù)試驗(yàn)所用m約為1.8)倍,則觸發(fā)重新全面分組。此階段持續(xù)預(yù)設(shè)次數(shù)的代(例如1000)。
利用階段(exploitation phase)重新分組和群體間交叉可以導(dǎo)致一個(gè)群體的遺傳物質(zhì)污染另一個(gè)群體。如果此物質(zhì)是非常成功的,則最后可能會(huì)導(dǎo)致所有群體收斂。這無(wú)助于發(fā)現(xiàn)不同的設(shè)計(jì)方案。因此,在利用階段,所有群體均被凍結(jié)。交叉只允許在同一個(gè)群體的父代之間進(jìn)行。不執(zhí)行任何重新分組。因此,群體中就不會(huì)有遺傳物質(zhì)的交換。所有新的后代將從它們的父代繼承群體信息。當(dāng)然,通常也有可能發(fā)現(xiàn)在每個(gè)群體內(nèi)出現(xiàn)非常不同的基因型。這些不同的基因型很可能填充群體帕瑞托前沿的不同區(qū)域。
在已將所有后代分配給群體之后,計(jì)算新的帕瑞托前沿。這是按群體來(lái)進(jìn)行的。首先,計(jì)算后代中的非受控個(gè)體。否則,將這些個(gè)體與先前的非受控個(gè)體合并。還會(huì)對(duì)照所述的當(dāng)前適應(yīng)度約束對(duì)個(gè)體進(jìn)行檢查。
收縮帕瑞托前沿在精英帕瑞托選擇法的多數(shù)實(shí)現(xiàn)方案中,帕瑞托前沿中的個(gè)體數(shù)量在整個(gè)運(yùn)行過(guò)程中將不斷增長(zhǎng)。有必要定期從帕瑞托前沿刪除一些個(gè)體,以防止前沿和種群過(guò)度增長(zhǎng)。只要前沿中個(gè)體的數(shù)量超過(guò)預(yù)設(shè)門限,就從群體的帕瑞托前沿中刪除個(gè)體。
一般來(lái)說(shuō),只要可能發(fā)現(xiàn)許多非常相似的個(gè)體,就應(yīng)該刪除個(gè)體,因?yàn)楸A舴浅O嗨频膫€(gè)體幾乎沒(méi)有什么意義。為此,將所有個(gè)體進(jìn)行“配對(duì)”處理將具有最小基因型距離的兩個(gè)個(gè)體配對(duì),然后將具有第二最小距離的兩個(gè)個(gè)體配對(duì),依此類推。每個(gè)個(gè)體只允許在一個(gè)這種配對(duì)中。每對(duì)中刪除一個(gè)個(gè)體。重復(fù)此過(guò)程,直到足夠數(shù)量的個(gè)體被刪除為止。要?jiǎng)h除的個(gè)體的數(shù)量是預(yù)設(shè)參數(shù)。
有關(guān)要?jiǎng)h除配對(duì)中哪個(gè)個(gè)體的決策基于個(gè)體的組合適應(yīng)度。較好的個(gè)體生存。收縮操作永遠(yuǎn)不會(huì)從群體中刪除種群中最好的個(gè)體。
收緊約束利用帕瑞托選擇法,只要適應(yīng)度值差的個(gè)體不受控于任何其他個(gè)體,則它們?nèi)钥梢陨?。例如,最終的種群可能容易包括不允許任何信號(hào)通過(guò)的濾波器,因?yàn)樗鼈兪剐盘?hào)在阻帶受到的抑制最大,而與同一群體中的其他濾波器大不相同。這些極端的個(gè)體可能構(gòu)成帕瑞托前沿中個(gè)體的很大一部分,且將前沿中折衷區(qū)域中有希望的個(gè)體擠出去。
為個(gè)體設(shè)置某種約束以限制帕瑞托前沿中此類極端個(gè)體的數(shù)量,是很有用的。不幸的是,設(shè)置這些約束是很困難的。嚴(yán)格的約束將限制極端個(gè)體的數(shù)量,但是也會(huì)造成將可能的好個(gè)體排除在外的風(fēng)險(xiǎn)。為了回避這個(gè)問(wèn)題,采用了自適應(yīng)機(jī)制,它使約束矢量動(dòng)態(tài)地適應(yīng)種群中當(dāng)前取得的適應(yīng)度值。
每n代,通過(guò)“最終約束矢量”(FCV)收緊一次約束。該矢量具有與適應(yīng)度值一樣多的元素。其中的這些值是預(yù)先定義的。它們是算法運(yùn)行結(jié)束時(shí)施加的約束。通常,當(dāng)前的最終約束被大致設(shè)置為預(yù)期最佳個(gè)體性能的3-4倍。第二矢量,“當(dāng)前約束矢量”(CCV)初始化為最差可能適應(yīng)度值(極小化情況下為正無(wú)窮大)。
對(duì)于每個(gè)特定適應(yīng)度標(biāo)準(zhǔn),區(qū)分三組不同的個(gè)體具有該特定適應(yīng)度最佳值的個(gè)體;具有最佳總的組合適應(yīng)度的個(gè)體;以及具有該特定適應(yīng)度最差值的個(gè)體。
當(dāng)考慮所有適應(yīng)度標(biāo)準(zhǔn)時(shí),個(gè)體可能屬于不止一組。具體地來(lái)說(shuō),對(duì)應(yīng)一個(gè)適應(yīng)度標(biāo)準(zhǔn)的第一組中的個(gè)體也經(jīng)常屬于對(duì)應(yīng)另一個(gè)適應(yīng)度標(biāo)準(zhǔn)的第三組。例如,在阻帶中具有最佳信號(hào)衰減的個(gè)體可能在通帶具有最大振幅偏差。
一般來(lái)說(shuō),第一組個(gè)體通常與第三組有聯(lián)系,因?yàn)楦鶕?jù)一個(gè)或多個(gè)其他適應(yīng)度標(biāo)準(zhǔn),這些個(gè)體通常是很差的。第二組很重要,因?yàn)樗钣邢M玫骄哂杏杏谜壑缘慕狻榱耸寡莼阉骷杏诘诙M中的個(gè)體上,采用如下算法。
1.發(fā)現(xiàn)對(duì)應(yīng)于每個(gè)適應(yīng)度標(biāo)準(zhǔn)的最差個(gè)體。
2.對(duì)應(yīng)于每個(gè)適應(yīng)度標(biāo)準(zhǔn),計(jì)算FCV中值與種群中當(dāng)前最差值的商。選擇最大商標(biāo)準(zhǔn)用于收緊目的。
3.根據(jù)先前步驟選擇的標(biāo)準(zhǔn)對(duì)所有非受控個(gè)體進(jìn)行分類。
4.標(biāo)識(shí)出最差的n個(gè)個(gè)體并標(biāo)記它們以備刪除(n是預(yù)定義參數(shù),例如大小為1400的種群的0.5%)。
5.將所選標(biāo)準(zhǔn)的值設(shè)置為余下最差個(gè)體所達(dá)到的值來(lái)更新CCV。
CCV用于確定哪個(gè)個(gè)體應(yīng)該在帕瑞托前沿中。一個(gè)或多個(gè)適應(yīng)度值比CCV中的值差的個(gè)體將被允許存在于群體中,但是不會(huì)被標(biāo)記為非受控的。它將不會(huì)成為帕瑞托前沿的成員。每次運(yùn)行上述算法將使CCV中的值減小。減小的速度取決于演化的進(jìn)度。一旦CCV的值達(dá)到FCV中的值,則不會(huì)再進(jìn)一步減小。
從群體中刪除具有最佳組合適應(yīng)度的個(gè)體,這是可能的。發(fā)生這種情況的可能性主要取決于每次收緊過(guò)程中刪除的個(gè)體的數(shù)量。收緊的速度也很重要。收緊得快可以使演化的初始進(jìn)度提高很多,但是可能刪除非常有希望的個(gè)體。因?yàn)橛邢M膫€(gè)體通常都是不同標(biāo)準(zhǔn)之間折衷的結(jié)果。它們不可能是符合任何單一標(biāo)準(zhǔn)的最佳個(gè)體,因此可能會(huì)被刪除。實(shí)踐中,刪除少量幾個(gè)個(gè)體就足夠了。
約束收緊的另一種可能的效果是,特別是當(dāng)群體中所有個(gè)體都具有“極端”適應(yīng)度值時(shí)會(huì)將該群體中的所有個(gè)體都刪除。當(dāng)這種情況發(fā)生時(shí),算法將自動(dòng)增加余下群體的帕瑞托前沿的允許大小(size)。這非常有用,因?yàn)樗惴梢约杏谑O碌娜后w上。從某種意義上說(shuō),在群體之間引入有限度的競(jìng)爭(zhēng),驅(qū)使差的群體滅絕。
受控個(gè)體將所有非受控個(gè)體作為下一代考慮之后,下一代中的任何空缺將由受控個(gè)體填補(bǔ)。為了確定種群中哪些個(gè)體生存,所有父代和后代的所有受控個(gè)體按照組合適應(yīng)度、共享適應(yīng)度或小生境計(jì)數(shù)來(lái)分類。這些個(gè)體中的最佳者幸存到下一代。
其他替代策略除所述的替代策略外,還可以采用其他策略。對(duì)于不進(jìn)行分組的運(yùn)行,可以采用精英帕瑞托選擇方案。此選擇機(jī)制是上述選擇機(jī)制的簡(jiǎn)化版本。因?yàn)椴徊捎梅纸M,所以只維持一個(gè)帕瑞托前沿。該選擇法未對(duì)適應(yīng)度值施加任何約束。另一個(gè)策略是簡(jiǎn)單截尾(truncation)策略,其中,最佳個(gè)體幸存到下一代。
圖6至圖18顯示采用所述演化系統(tǒng)完成的設(shè)計(jì)結(jié)果,其中,將該設(shè)計(jì)與人類專家的設(shè)計(jì)作比較以評(píng)估演化的濾波器設(shè)計(jì)的質(zhì)量。
在所討論的所有結(jié)果中,采用了通帶中的300個(gè)樣本,阻帶中的200個(gè)樣本。為進(jìn)行公平的比較,采用與我們的演化系統(tǒng)所采用的完全相同的取樣和適應(yīng)度計(jì)算方法來(lái)計(jì)算人類專家的設(shè)計(jì)的適應(yīng)度值。由于取樣和舍入方式的原因,濾波器的計(jì)算適應(yīng)度值與人類專家報(bào)告的值相近但是不完全相等。
兩個(gè)測(cè)試問(wèn)題兩個(gè)測(cè)試問(wèn)題都是低通濾波器,只是極點(diǎn)和零點(diǎn)數(shù)量、截頻頻率以及時(shí)延和振幅的目標(biāo)不同。
問(wèn)題案例1ωp=0.2,ωz=0.28,最大振幅偏差0.1分貝,最小阻帶衰減43分貝,群時(shí)延=11個(gè)樣本且最大偏差為0.35,階數(shù)為15,具有7個(gè)零點(diǎn)對(duì)、1個(gè)單零點(diǎn)、2個(gè)極點(diǎn)對(duì)、1個(gè)單極點(diǎn)、10個(gè)位于原點(diǎn)的極點(diǎn)。
問(wèn)題案例2ωp=0.25,ωz=0.3,最大振幅偏差0.3分貝,最小阻帶衰減32分貝,群時(shí)延=9個(gè)樣本且最大偏差為0.5,階數(shù)為12,具有6個(gè)零點(diǎn)對(duì)、無(wú)單零點(diǎn)、5個(gè)極點(diǎn)對(duì)、1個(gè)單極點(diǎn)、位于原點(diǎn)的1個(gè)極點(diǎn)。
對(duì)于案例1,表示個(gè)體的基因型需要12對(duì)數(shù)字,而對(duì)于案例2則需要13對(duì)數(shù)字。當(dāng)計(jì)算案例1中人工設(shè)計(jì)的適應(yīng)度時(shí),注意到振幅曲線看上去稍微太高。當(dāng)b0的值從上述W.S.Lu的論文中給出的-0.00046047修改為0.000456475時(shí),適應(yīng)度值變得與該論文中所給的值很相近。相信該已公布的論文中存在打印或真正的錯(cuò)誤。這可能是由計(jì)算頻率響應(yīng)時(shí)的舍入處理引起的。以下性能比較均采用經(jīng)過(guò)校正的值。
演化系統(tǒng)的性能下表2顯示設(shè)計(jì)案例1的三次運(yùn)行的結(jié)果。其中列出了運(yùn)行1所用的所有群體和運(yùn)行2和3中的三個(gè)最佳群體的、具有最佳組合適應(yīng)度的群體個(gè)體的性能。下表3顯示設(shè)計(jì)案例2的相似結(jié)果。這兩個(gè)表這的第一行表示W(wǎng).S.Lu的論文中人類專家提出的用于評(píng)估濾波器質(zhì)量的性能量度。在表2中,PbmaxAmp是通帶最大振幅偏差(以分貝計(jì));PbmaxDel是通帶最大時(shí)延偏差(以樣本個(gè)數(shù)計(jì));以及SbmaxAmp是阻帶中最大振幅的倒數(shù)(以分貝計(jì))。
從表2立即可以作出多個(gè)發(fā)現(xiàn)。首先,運(yùn)行1的20個(gè)群體中的三個(gè)是空的,這說(shuō)明用于收緊約束(tightening constraints)和集中于多個(gè)有希望的群體的所述技術(shù)顯然有效。
其次,每一次運(yùn)行至少演化出一個(gè)優(yōu)于人類專家設(shè)計(jì)的濾波器的更好設(shè)計(jì)。根據(jù)考慮了所有設(shè)計(jì)標(biāo)準(zhǔn)的組合適應(yīng)度,運(yùn)行1中第4和第14個(gè)群體中的最佳個(gè)體分別達(dá)到6.085和6.046的性能,好于人類專家所達(dá)到的6.293。運(yùn)行2中的第4個(gè)群體和運(yùn)行3中的第2個(gè)群體中的最佳個(gè)體分別達(dá)到5.702和5.760,這表示較之人工設(shè)計(jì)有9.4%和8.5%的性能提高。運(yùn)行3中的第19個(gè)群體中的最佳個(gè)體也優(yōu)于人工設(shè)計(jì),雖然只是稍微優(yōu)于。
第三,通過(guò)仔細(xì)檢查可以看出,演化的設(shè)計(jì)彼此差異很大。例如,運(yùn)行2中第4個(gè)群體中的最佳個(gè)體在通帶中具有極小的最大時(shí)延偏差(0.043),而運(yùn)行3中第2個(gè)群體中的個(gè)體具有非常小的通帶最大振幅偏差,雖然兩個(gè)設(shè)計(jì)的組合適應(yīng)度值很接近。這兩個(gè)實(shí)例說(shuō)明演化系統(tǒng)在發(fā)現(xiàn)不同設(shè)計(jì)方面的強(qiáng)大功能。EA可以搜索的設(shè)計(jì)空間比設(shè)計(jì)人員所檢查的要大得多。
第四,表2中只有一個(gè)演化設(shè)計(jì)(運(yùn)行1中第9個(gè)群體中的最佳個(gè)體)根據(jù)其阻帶性能達(dá)到較人工設(shè)計(jì)好的性能,雖然組合適應(yīng)度較差。顯然這說(shuō)明人工設(shè)計(jì)的阻帶性能0.023實(shí)在難于超過(guò)。同時(shí),這也指出了改進(jìn)演化系統(tǒng)的方向,即增加SbmaxAmp的權(quán)重,以便在演化搜索中對(duì)此標(biāo)準(zhǔn)予以更多重視。
表3顯示第2測(cè)試問(wèn)題的結(jié)果。下表3顯示與表2所示相似的點(diǎn)。運(yùn)行4和運(yùn)行5都得到比人工設(shè)計(jì)好的個(gè)體,即運(yùn)行4中第15個(gè)群體中和運(yùn)行5中第17個(gè)群體中的最佳個(gè)體。
在產(chǎn)生表2和表3的結(jié)果的試驗(yàn)中,運(yùn)行1、2和4使用表2和表3中第3至5列中的三個(gè)適應(yīng)度值和組合適應(yīng)度。在運(yùn)行2和5中,還將平方誤差(即3.5節(jié)中的標(biāo)準(zhǔn)(3)和(8))用于確定優(yōu)勢(shì)條件和計(jì)算約束。這些值是在整個(gè)頻帶上計(jì)算的,它們應(yīng)該提供有關(guān)設(shè)計(jì)的更多信息,因?yàn)檫m應(yīng)度評(píng)估中所考慮的其他值只給出與單點(diǎn)有關(guān)的信息。最優(yōu)化平方誤差還可以為EA提供發(fā)現(xiàn)更好結(jié)果的其它途徑。
表2
表3運(yùn)行1、2、4和5采用1400的種群大小運(yùn)行了50000代。每個(gè)群體的帕瑞托前沿中允許最多有70個(gè)個(gè)體,縮小帕瑞托前沿之后最少為50個(gè)個(gè)體。運(yùn)行3采用相同參數(shù),不同的是運(yùn)行了67000代。運(yùn)行50000代在500兆赫茲的奔騰計(jì)算機(jī)上通?;ㄙM(fèi)多達(dá)1.5天的時(shí)間。
圖6和圖7顯示系統(tǒng)的演化過(guò)程。附圖中的曲線表示種群中的最佳適應(yīng)度。附圖顯示甚至在第50000代附近適應(yīng)度仍在不斷提高。看上去如果運(yùn)行試驗(yàn)的時(shí)間越長(zhǎng),很可能發(fā)現(xiàn)更好的設(shè)計(jì)。值得一提的是,計(jì)算時(shí)間越長(zhǎng)所得解越好并非總是正確的。僅當(dāng)有足夠多的種群多樣性時(shí),EA才能在其搜索過(guò)程中取得進(jìn)展。由于在我們的系統(tǒng)中實(shí)施了帕瑞托最優(yōu)化、適應(yīng)度共享和分組,所以我們?cè)诒狙莼到y(tǒng)中可以使種群多樣性維持在較高水平的時(shí)間較其他EA長(zhǎng)得多。這就是如果增加遺傳代數(shù)就可能有希望獲得更好的性能的主要原因之一。
演化設(shè)計(jì)的實(shí)例為進(jìn)行比較,圖8和圖9顯示了人類專家設(shè)計(jì)的兩個(gè)濾波器。每個(gè)附圖的左邊顯示濾波器的響應(yīng)曲線。上部分曲線是振幅。下部分曲線表示濾波器的群時(shí)延。三個(gè)垂直線顯示,ω=ωp,ω=0.25,ω=ωz。振幅和時(shí)延曲線都采用線性刻度。在附圖的右手邊,顯示了傳遞函數(shù)的極點(diǎn)和零點(diǎn)。極點(diǎn)用十字表示,而零點(diǎn)用圓圈表示。
圖10和圖16顯示演化出的濾波器設(shè)計(jì)。圖10和圖11顯示運(yùn)行1中最佳(14)和次佳(4)群體中的最佳個(gè)體。圖12顯示運(yùn)行2中最佳(4)群體中的最佳個(gè)體,圖13顯示運(yùn)行3中最佳群體(2)中的最佳個(gè)體??梢员容^零-極點(diǎn)圖來(lái)非常容易地檢驗(yàn)設(shè)計(jì)的不同之處。對(duì)于問(wèn)題案例1,從運(yùn)行1中第14個(gè)群體得到的演化設(shè)計(jì)(如10)以及從運(yùn)行2中第4個(gè)群體得到的演化設(shè)計(jì)(圖12)具有相似的零-極點(diǎn)圖。圖11(運(yùn)行1中第4個(gè)群體的最佳個(gè)體)和圖13(運(yùn)行3中第2個(gè)群體的最佳個(gè)體)的零-極點(diǎn)圖也彼此相似。但是,它們與圖8所示人工設(shè)計(jì)的零-極點(diǎn)圖的差異很大。從人類設(shè)計(jì)人員通常不會(huì)提出這種設(shè)計(jì)這種意義上說(shuō),它們確實(shí)是創(chuàng)新的。
針對(duì)問(wèn)題案例2演化得到的濾波器更加清除地說(shuō)明了不同設(shè)計(jì)的發(fā)現(xiàn),其中幾乎所有演化的設(shè)計(jì)(圖14到圖16)彼此大不相同,而且與人工設(shè)計(jì)也大不相同。圖14和圖15分別顯示運(yùn)行4中最佳和次佳群體中的最佳個(gè)體。它們分別來(lái)自群體14和20。圖16顯示運(yùn)行5中最佳群體即群體17中的最佳個(gè)體。
演化設(shè)計(jì)與人工設(shè)計(jì)的比較圖17和圖18詳細(xì)地將對(duì)應(yīng)于問(wèn)題案例1的最佳演化設(shè)計(jì)(運(yùn)行3群體2)與附圖中標(biāo)為參考設(shè)計(jì)的人工設(shè)計(jì)進(jìn)行比較。在圖17中,振幅的對(duì)數(shù)刻度強(qiáng)調(diào)了阻帶性能上的差異。演化設(shè)計(jì)明顯較好。作為插入的顯示內(nèi)容,通帶性能明顯較為平緩(即很好)。
圖18清楚地顯示演化得到的濾波器設(shè)計(jì)在時(shí)延方面具有較好的性能。該性能完全由通帶右端的值確定。因?yàn)檠莼玫降臑V波器在該端振蕩,所以它具有相當(dāng)好的適應(yīng)度。此圖還解釋樣本頻率和位置為什么如此重要此點(diǎn)處的時(shí)延具有非常陡的梯度,樣本位置的任何變化都將導(dǎo)致該值的強(qiáng)烈變化。
其他試驗(yàn)除上述結(jié)果外,我們還采用不同選擇方案和替代策略進(jìn)行了其他一些試驗(yàn),以便評(píng)估不同技術(shù)(包括我們自己開(kāi)發(fā)的)的優(yōu)缺點(diǎn)。例如許多試驗(yàn)采用了上述的“替代最差”策略。這種策略對(duì)差的個(gè)體具有非常強(qiáng)的選擇壓力,并有利快速收斂。如人們所期望的,它使計(jì)算時(shí)間較短,但是有收斂到根本不令人滿意的解的風(fēng)險(xiǎn)。
當(dāng)我們擁有一些相當(dāng)好的人工設(shè)計(jì)時(shí),我們已經(jīng)注意到盡可能地利用人工設(shè)計(jì)中的知識(shí),進(jìn)行演化校準(zhǔn)是有益的,不用每次從頭開(kāi)始演化設(shè)計(jì)。為此,我們用根據(jù)人工設(shè)計(jì)變異得到的個(gè)體對(duì)初始種群的小部分(10%)進(jìn)行初始化。這一小部分變異的人工設(shè)計(jì)在沒(méi)有喪失很多種群多樣性的情況下將一些潛在有用的基因引入到種群中。我們的初步結(jié)果顯示這種初始化可以在非常短的時(shí)間內(nèi)使人工設(shè)計(jì)的性能改進(jìn)10%。周密分析顯示所述性能改進(jìn)多數(shù)是精細(xì)調(diào)節(jié),因?yàn)檠莼廒呌谂c人工設(shè)計(jì)相似。但是,細(xì)調(diào)某些參數(shù)會(huì)帶來(lái)顯著的性能增益。因?yàn)樵S多行業(yè)的產(chǎn)品需要在交付之前需要調(diào)整和校準(zhǔn),我們的試驗(yàn)研究表明EA可能是用于這種任務(wù)的非常有前景的校準(zhǔn)和精細(xì)調(diào)節(jié)工具。
所述實(shí)施例提出一種強(qiáng)調(diào)發(fā)現(xiàn)創(chuàng)新和非常規(guī)設(shè)計(jì)的演化設(shè)計(jì)系統(tǒng)。上面以數(shù)字濾波器設(shè)計(jì)作為示例來(lái)說(shuō)明演化系統(tǒng)如何利用諸如帕瑞托最優(yōu)化、適應(yīng)度共享、分組等技術(shù)來(lái)演化得到不同的濾波器。已在我們的系統(tǒng)中實(shí)現(xiàn)了幾種技術(shù)并對(duì)其進(jìn)行了試驗(yàn)。試驗(yàn)結(jié)果表明可以對(duì)演化計(jì)算技術(shù)有效地加以應(yīng)用,以演化出與人類專家的設(shè)計(jì)大不相同的設(shè)計(jì)。演化出的設(shè)計(jì)的性能通常比人工設(shè)計(jì)好。其成功的主要原因之一是EA具有探索更大設(shè)計(jì)空間并因此發(fā)現(xiàn)人類設(shè)計(jì)者所忽略的設(shè)計(jì)的能力。
演化設(shè)計(jì)的一個(gè)缺點(diǎn)在于計(jì)算時(shí)間長(zhǎng)。不過(guò),雖然演化設(shè)計(jì)可能很耗時(shí),但它使設(shè)計(jì)人員至少部分從試驗(yàn)和測(cè)試不同設(shè)計(jì)替代方案中解脫出來(lái)。就完成一個(gè)好的設(shè)計(jì)而言,演化設(shè)計(jì)系統(tǒng)所花費(fèi)的時(shí)間通常比設(shè)計(jì)人員所耗費(fèi)的少。
演化計(jì)算技術(shù)可以用作問(wèn)題援救工具(problem saving tool)以及發(fā)現(xiàn)引擎。該系統(tǒng)演化出高質(zhì)量的設(shè)計(jì)。發(fā)現(xiàn)和提取隱藏在所演化出的設(shè)計(jì)中的好設(shè)計(jì)可產(chǎn)生新的設(shè)計(jì)原理或者構(gòu)件,所述構(gòu)件可用于其他設(shè)計(jì)任務(wù)而無(wú)需每次回到演化系統(tǒng)中。
利用EA設(shè)計(jì)硬件與常規(guī)設(shè)計(jì)很不相同。演化設(shè)計(jì)是有賴于知識(shí)的(knowledge-lean)和頗具探索性的。它是對(duì)常規(guī)設(shè)計(jì)的補(bǔ)充,而非與之競(jìng)爭(zhēng)。常規(guī)設(shè)計(jì)指多數(shù)設(shè)計(jì)人員所沿用的現(xiàn)有方法。常規(guī)設(shè)計(jì)通常采用確定性算法或程序從已建立的模型導(dǎo)出設(shè)計(jì)。例如,人類專家將二次規(guī)劃應(yīng)用于濾波器設(shè)計(jì)。
在演化設(shè)計(jì)系統(tǒng)中將設(shè)計(jì)問(wèn)題公式化為多目標(biāo)最優(yōu)化問(wèn)題,這樣較為直截了當(dāng)。雖然由于需要開(kāi)發(fā)系統(tǒng)而使演化設(shè)計(jì)系統(tǒng)的建立成本很高,但系統(tǒng)開(kāi)發(fā)出來(lái)之后運(yùn)行成本較低。例如,當(dāng)需要不同的濾波器時(shí),演化設(shè)計(jì)系統(tǒng)只需對(duì)各種濾波器采用不同的適應(yīng)度評(píng)估函數(shù)。但是,在人類專家采用的常規(guī)方法中,則可能需要為不同的濾波器開(kāi)發(fā)完全不同的算法。
表4概括了硬件設(shè)計(jì)的常規(guī)方法與演化方法之間的主要不同之處和相似之處。其中一些比較結(jié)果是濾波器設(shè)計(jì)問(wèn)題所特有的,故是說(shuō)明性的。
表4確定目標(biāo)和約束的方式可能對(duì)設(shè)計(jì)結(jié)果具有重大影響。在演化方法中,直接用適應(yīng)度函數(shù)和染色體(基因型)對(duì)目標(biāo)和約束進(jìn)行編碼。適應(yīng)度函數(shù)直接衡量究竟采用什么目標(biāo),如線性振幅的最大偏差。要么使約束成為適應(yīng)度函數(shù)的一部分或要么將其編碼成染色體。例如,我們的染色體表示法保證演化中不會(huì)產(chǎn)生任何不穩(wěn)定的濾波器。由此,無(wú)需任何穩(wěn)定性測(cè)試。此目的的取得不會(huì)犧牲任何可行設(shè)計(jì)空間。
在濾波器設(shè)計(jì)的常規(guī)方法中,有必要使約束線性化,這實(shí)際上排除了一些穩(wěn)定的設(shè)計(jì)。換言之,部分可行搜索空間被排除而未被常規(guī)方法考慮。再者,因?yàn)椴扇 白钚∽畲笾怠毙问降哪繕?biāo)不能輕易線性化,最優(yōu)化實(shí)際上是利用基于整個(gè)函數(shù)的加權(quán)最小平方誤差來(lái)實(shí)現(xiàn)的。即,被優(yōu)化的與應(yīng)該優(yōu)化的并不完全相同。常規(guī)算法非常可能丟失加權(quán)平方誤差較大而最大誤差較小的好設(shè)計(jì)。
用于實(shí)現(xiàn)體現(xiàn)所述發(fā)明方法的軟件是用Java來(lái)開(kāi)發(fā)的,并且該軟件在體系結(jié)構(gòu)上是以插件為基礎(chǔ)構(gòu)造的,它利用配置文件來(lái)指定裝入哪個(gè)模塊來(lái)執(zhí)行操作。這允許對(duì)若干算子的不同組合進(jìn)行研究。所采用的模塊有兩種不同類型。演化算法的基本部分是用接口來(lái)定義的,一個(gè)或多個(gè)模塊被設(shè)計(jì)來(lái)實(shí)現(xiàn)各個(gè)接口。其他模塊組只實(shí)現(xiàn)基本的可掛接(hookable)接口這些模塊為某些已加載的掛接件(hook)登記。這些模塊允許將元級(jí)算子引入算法結(jié)構(gòu)。模塊之間存在某種相互依賴性,例如,模塊會(huì)運(yùn)行必需的掛接件來(lái)激活“元級(jí)”模塊。模塊僅在它們被需要時(shí)實(shí)現(xiàn)。
Java允許所有模塊對(duì)象簡(jiǎn)單地保存到文件中,以便可以保存所有運(yùn)行數(shù)據(jù)。但是,在Java中,一旦對(duì)象被更改,則此數(shù)據(jù)無(wú)法重新裝入。因此,將一個(gè)方法添加到類中會(huì)導(dǎo)致無(wú)法裝入已保存的運(yùn)行數(shù)據(jù)。因此,所有模塊必須將它們的運(yùn)行數(shù)據(jù)分別保存到文件中。當(dāng)文件更改時(shí)只要數(shù)據(jù)格式不變,則仍有效。
基本模塊為L(zhǎng)oader(裝入器)這實(shí)際不算是一個(gè)模塊,而是唯一的固定元素。它負(fù)責(zé)裝入所有模塊,運(yùn)行掛接件初始化,以及當(dāng)需要重新啟動(dòng)運(yùn)行時(shí)重新裝入保存的數(shù)據(jù)。它允許重復(fù)運(yùn)行來(lái)收集統(tǒng)計(jì)數(shù)據(jù)。
Loop(循環(huán))實(shí)現(xiàn)基本演化算法的循環(huán),它調(diào)用演化和選擇模塊,在每個(gè)循環(huán)開(kāi)始和結(jié)束時(shí)運(yùn)行掛接件。
GenotypeFactory(基因型工廠)創(chuàng)建適合所選表示法的基因型。
Population(種群)實(shí)現(xiàn)種群存儲(chǔ),它允許在種群中添加個(gè)體,從種群中刪除和選擇個(gè)體。目前所用的模塊實(shí)現(xiàn)單個(gè)種群,但是分布式模塊也是可能的。
ParentSelection(父代選擇)負(fù)責(zé)從種群中選擇父代。
Genetics(遺傳)利用BinaryOperator(二進(jìn)制算子)和UnaryOperator(單目算子)模塊提取父代并返回后代列表。
BinaryOperator 實(shí)現(xiàn)一個(gè)或多個(gè)二進(jìn)制遺傳算子,例如交叉。
UnaryOperator 實(shí)現(xiàn)一元遺傳算子,通常為變異。
Evaluation(評(píng)估)提取個(gè)體列表并對(duì)各個(gè)體作出評(píng)估,目前按順序?qū)λ袀€(gè)體進(jìn)行評(píng)估,但分布式評(píng)估也是可能的。
FitnessFunction(適應(yīng)度函數(shù))評(píng)估過(guò)程利用它來(lái)計(jì)算單個(gè)個(gè)體的適應(yīng)度。
Replacement 將當(dāng)前的種群和后代組合成新一代。
Termination 如果應(yīng)該終止運(yùn)行,則返回“真”。
Statistics(統(tǒng)計(jì))保持循環(huán)計(jì)數(shù)、種群大小、最佳和平均適應(yīng)度等基本統(tǒng)計(jì)。
下列模塊實(shí)現(xiàn)元級(jí)函數(shù)。
裝入哪些模塊取決于傳遞給EA裝入器的特性文件。這些模塊依賴于相應(yīng)的掛接件,以便從基本模塊中運(yùn)行。
FitnessSharing(適應(yīng)度共享)它在每次評(píng)估之后和每個(gè)循環(huán)之后運(yùn)行,實(shí)現(xiàn)適應(yīng)度共享。
InjectSolutions(輸出解)它在創(chuàng)建最初的個(gè)體之后運(yùn)行,輸出根據(jù)已知解創(chuàng)建的個(gè)體。
PrintStats(打印統(tǒng)計(jì)數(shù)字)將統(tǒng)計(jì)數(shù)字打印到屏幕上。
SaveStats(保存統(tǒng)計(jì)數(shù)字)將統(tǒng)計(jì)數(shù)字保存到文件中。
SaveRun(保存運(yùn)行)定期運(yùn)行“saveYourself(保存自己)”掛接件以指示所有模塊將它們的數(shù)據(jù)保存到文件中。
ResponsePlotter(響應(yīng)繪圖器)繪制最佳個(gè)體。
已參照低通數(shù)字濾波器作出了本說(shuō)明書(shū)。數(shù)字濾波器設(shè)計(jì)具有若干適用演化方法的特征。多數(shù)情況下,濾波器可以利用有限的互連集合用相對(duì)少的高級(jí)元件來(lái)創(chuàng)建;因此可由演化算法探索的搜索空間內(nèi)可能存在有用的設(shè)計(jì)。而且,無(wú)論是以仿真方式或是在硬件中測(cè)試數(shù)字濾波器均相對(duì)容易而且快速。
取決于所要設(shè)計(jì)的濾波器類型,可供利用的常規(guī)設(shè)計(jì)方法非常少。線性無(wú)反饋濾波器(linear feedback-free filter)(FIR濾波器)的設(shè)計(jì)通常是簡(jiǎn)單明了的,但對(duì)帶反饋的濾波器(IIR濾波器)而言,僅有針對(duì)特定類型的濾波器的設(shè)計(jì)方法。以分析方式處理非線性濾波器幾乎是不可能的,因此設(shè)計(jì)起來(lái)很困難。
最后,在如移動(dòng)通信等領(lǐng)域中,信道特征的變化需要自適應(yīng)設(shè)計(jì)?;谘莼疕W的濾波器可以“實(shí)時(shí)”調(diào)整濾波器的結(jié)構(gòu)使之適應(yīng)不同的環(huán)境。對(duì)于常規(guī)設(shè)計(jì)而言,唯一可能的調(diào)整就是更改濾波器電路的系數(shù),一般是FIR濾波器。
相比之下,設(shè)計(jì)數(shù)學(xué)協(xié)處理器或類似裝置因種種原因不大可能成為好的應(yīng)用領(lǐng)域。一般來(lái)說(shuō),設(shè)計(jì)可能非常龐大且復(fù)雜,這意味著要搜索巨大的搜索空間。而且,因?yàn)檩斎氲臄?shù)量和內(nèi)部狀態(tài)的原因,測(cè)試即便可能也非常慢。同時(shí),這使得這種任務(wù)對(duì)演化方法而言很難。
另一方面,關(guān)于如何設(shè)計(jì)單元,有大量知識(shí)可供利用,通常無(wú)需調(diào)整硬件使之適應(yīng)新環(huán)境。因此,常規(guī)設(shè)計(jì)方法可能更適用于此類設(shè)計(jì)任務(wù)。
根據(jù)上述應(yīng)明確,本發(fā)明的方法適用于設(shè)計(jì)硬件元件的許多其他類型。并非窮舉的列表包括高階模擬濾波器、模擬放大器、模擬電路、微波鏡頻干擾抑制混頻器(microwave image rejection mixer)、模擬濾波器校準(zhǔn)儀、非線性數(shù)字濾波器、數(shù)字均衡器、無(wú)損數(shù)字圖像壓縮。包括此列表僅是為了給出幾個(gè)實(shí)例。其他許多應(yīng)用也是可能的,并將由對(duì)本領(lǐng)域的技術(shù)人員所想到。
權(quán)利要求
1.一種采用演化算法來(lái)設(shè)計(jì)硬件硬件的方法,包括如下步驟a)給出硬件元件的初始種群;b)將所述初始種群編碼為染色體;c)根據(jù)多目標(biāo)適應(yīng)度標(biāo)準(zhǔn)評(píng)估所述初始種群的每個(gè)個(gè)體的適應(yīng)度;d)基于所述初始種群的所述適應(yīng)度評(píng)估結(jié)果選擇父代染色體;e)對(duì)所選擇的父代染色體執(zhí)行遺傳操作以生成后代種群;f)從所述父代和后代染色體中選擇一組新染色體,其中包括從所述父代和后代染色體形成多個(gè)群體以及形成各群體的非受控染色體的帕雷托前沿;以及g)對(duì)所述新染色體集合重復(fù)步驟c)至f)以便形成新一代,一直到滿足預(yù)定終止標(biāo)準(zhǔn)為止。
2.如權(quán)利要求1所述的方法,其特征在于對(duì)所述父代和后代染色體分組的步驟包括根據(jù)基因型之間的距離形成群體。
3.如權(quán)利要求1或2所述的方法,其特征在于在n代之后執(zhí)行重新分組。
4.如權(quán)利要求3所述的方法,其特征在于在所述重新分組步驟中,相同所述群體中具有單個(gè)或兩個(gè)父代的后代被重新分組到所述父代的群體中,其他后代則被分配到具有最接近中心的群體中。
5.如權(quán)利要求3或4所述的方法,其特征在于經(jīng)過(guò)預(yù)定次數(shù)的重新分組之后,所述群體就固定下來(lái)了。
6.如權(quán)利要求3、4或5所述的方法,其特征在于包括形成所述經(jīng)過(guò)重新分組的染色體的每個(gè)群體的帕雷托前沿。
7.如上述任一權(quán)利要求所述的方法,其特征在于群體數(shù)是固定的。
8.如上述任一權(quán)利要求所述的方法,其特征在于包括當(dāng)帕雷托前沿中個(gè)體的數(shù)量超過(guò)預(yù)定閾值時(shí)從所述帕雷托前沿中刪除染色體。
9.如權(quán)利要求8所述的方法,其特征在于刪除染色體的步驟包括使按基因型距離間隔最小的染色體配對(duì),并刪除所述配對(duì)中適應(yīng)度較低的染色體。
10.如上述任一權(quán)利要求所述的方法,其特征在于包括應(yīng)用收緊約束,以從所述群體的帕雷托前沿中消除染色體。
11.如權(quán)利要求10所述的方法,其特征在于所述應(yīng)用收緊約束的步驟包括標(biāo)識(shí)對(duì)應(yīng)于所述或各適應(yīng)度標(biāo)準(zhǔn)的最差個(gè)體,計(jì)算所述標(biāo)識(shí)個(gè)體的最終約束矢量的值的商,以及刪除具有最差商的個(gè)體。
12.如上述任一權(quán)利要求所述的方法,其特征在于所述選擇父代染色體基于所述適應(yīng)度標(biāo)準(zhǔn)之上的染色體的組合適應(yīng)度。
13.如權(quán)利要求12所述的方法,其特征在于所述組合適應(yīng)度是適應(yīng)度標(biāo)準(zhǔn)的加權(quán)和。
14.如權(quán)利要求1至11中任一權(quán)利要求所述的方法,其特征在于所述選擇父代染色體基于共享的適應(yīng)度,其中,個(gè)體的適應(yīng)度用占據(jù)一定適應(yīng)度小生境的其他個(gè)體的數(shù)量作了修改。
15.如權(quán)利要求1至11中任一權(quán)利要求所述的方法,其特征在于對(duì)父代染色體的所述選擇基于對(duì)非受控個(gè)體的優(yōu)選,并且如果所述選擇在非受控個(gè)體之間進(jìn)行,則所述選擇基于最小小生境計(jì)數(shù)。
16.如權(quán)利要求1至11中任一權(quán)利要求所述的方法,其特征在于對(duì)父代染色體的所述選擇基于對(duì)非受控個(gè)體的優(yōu)選,并且如果所述選擇在非受控個(gè)體之間進(jìn)行,則所述選擇基于個(gè)體所屬群體的大小。
17.如上述任一權(quán)利要求所述的方法,其特征在于對(duì)所述父代染色體應(yīng)用所述遺傳操作包括使所述父代染色體變異。
18.如上述任一權(quán)利要求所述的方法,其特征在于對(duì)所述父代染色體應(yīng)用遺傳操作包括使基因交叉。
19.如權(quán)利要求18所述的方法,其特征在于所述交叉包括兩點(diǎn)交叉。
20.一種采用演化算法重新設(shè)計(jì)硬件元件的方法,包括如下步驟通過(guò)對(duì)硬件元件的染色體表示應(yīng)用遺傳操作,從所述現(xiàn)有硬件元件生成后代種群;從現(xiàn)有染色體和后代染色體中選擇一組新染色體,其中包括形成多個(gè)染色體群體和形成各群體的非受控個(gè)體的帕雷托前沿;根據(jù)一個(gè)或多個(gè)標(biāo)準(zhǔn)評(píng)估每個(gè)個(gè)體的適應(yīng)度;根據(jù)所述適應(yīng)度評(píng)估結(jié)果選擇父代染色體;以及重復(fù)所述的選擇一組新染色體、適應(yīng)度評(píng)估和選擇父代的步驟,直到形成滿足預(yù)定的性能標(biāo)準(zhǔn)或其他標(biāo)準(zhǔn)的一組新的后代染色體為止。
21.如上述任一權(quán)利要求所述的方法,其特征在于所述硬件元件是數(shù)字濾波器,所述染色體具有包括所述濾波器的零-極點(diǎn)表述的基因型。
22.如權(quán)利要求21所述的方法,其特征在于所述染色體基因型是所述濾波器的傳遞函數(shù)。
23.根據(jù)權(quán)利要求1至22中任一權(quán)利要求所述方法設(shè)計(jì)的硬件元件。
24.根據(jù)權(quán)利要求1至22中任一權(quán)利要求所述方法設(shè)計(jì)的數(shù)字濾波器。
25.一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)它在計(jì)算機(jī)上運(yùn)行時(shí),使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1至22中任一權(quán)利要求所述的方法。
26.一種計(jì)算機(jī)程序,當(dāng)它在計(jì)算機(jī)上運(yùn)行時(shí),使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1至22中任一權(quán)利要求所述的方法。
27.一種采用演化算法優(yōu)化設(shè)計(jì)的方法,包括如下步驟a)給出硬件元件的初始種群;b)將所述初始種群編碼為染色體;c)根據(jù)多目標(biāo)適應(yīng)度標(biāo)準(zhǔn)評(píng)估所述初始種群中每個(gè)個(gè)體的適應(yīng)度;d)基于所述初始種群的所述適應(yīng)度評(píng)估結(jié)果選擇父代染色體;e)對(duì)所述選擇的父代染色體應(yīng)用遺傳操作以生成后代種群;f)從所述父代和后代染色體中選擇一組新染色體,其中包括從所述父代和后代染色體形成多個(gè)群體以及形成各群體的非受控染色體的帕雷托前沿;以及g)對(duì)所述新染色體組重復(fù)步驟c)至f)以形成新一代,一直到滿足預(yù)定終止標(biāo)準(zhǔn)為止。
全文摘要
設(shè)計(jì)數(shù)字濾波器等硬件元件可以通過(guò)設(shè)置濾波器的初始種群并將它們編碼為染色體來(lái)最優(yōu)化。然后評(píng)估每個(gè)染色體的適應(yīng)度,再根據(jù)適應(yīng)度標(biāo)準(zhǔn)選擇父代染色體。接著利用諸如變異和交叉之類的遺傳操作從后代和可選的父代集合中生成后代染色體,利用基于非受控個(gè)體的帕雷托前沿與分組的組合方法來(lái)選擇幸存?zhèn)€體。重復(fù)此過(guò)程,直到滿足終止標(biāo)準(zhǔn)。
文檔編號(hào)G06N3/00GK1529873SQ02809754
公開(kāi)日2004年9月15日 申請(qǐng)日期2002年3月13日 優(yōu)先權(quán)日2001年3月15日
發(fā)明者姚新, T·施尼爾, 姚 新, 岫 申請(qǐng)人:馬科尼英國(guó)知識(shí)產(chǎn)權(quán)有限公司