日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動化
[導(dǎo)讀]1 引 言 演化計(jì)算是一種借鑒生物演化和自然遺傳選擇的思想和原理來求解實(shí)際問題的一種極為有效的方法,它的根本思想是Darwin的進(jìn)化論和Mendel的遺傳學(xué)說,具有智能性、并行性和魯棒性等特征。演化計(jì)算是一種基于

1 引 言
    演化計(jì)算是一種借鑒生物演化和自然遺傳選擇的思想和原理來求解實(shí)際問題的一種極為有效的方法,它的根本思想是Darwin的進(jìn)化論和Mendel的遺傳學(xué)說,具有智能性、并行性和魯棒性等特征。演化計(jì)算是一種基于種群的搜索算法,它在搜索的過程中具有將適應(yīng)值好的個(gè)體保存到下一代的特點(diǎn),再通過選擇、交叉和變異等遺傳操作來產(chǎn)生更適應(yīng)環(huán)境的后代。演化計(jì)算提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,它不需要事先描述問題的全部特點(diǎn),它不依賴于問題的具體領(lǐng)域,對問題的種類有很強(qiáng)的魯棒性,所以廣泛應(yīng)用于眾多學(xué)科,也被廣泛應(yīng)用與求解各種函數(shù)優(yōu)化問題,但是它也具有一個(gè)突出的問題,演化速度比較慢,不大適合與實(shí)時(shí)運(yùn)用的場合。
    隨著微電子技術(shù)的迅速發(fā)展,大規(guī)模集成電路加工技術(shù)不斷發(fā)展,可編程邏輯器件(PLD)問世,它由于具有集成度高、速度快、功耗低、價(jià)格低等優(yōu)點(diǎn)在很多領(lǐng)域都日益發(fā)揮著重要的作用。而現(xiàn)場可編程門陣列(FPGA)是近幾年加入到用戶可編程電路行列的器件,它的設(shè)計(jì)為器件的選擇和內(nèi)連提供了更大的自由度,它的結(jié)構(gòu)包括由邏輯功能塊構(gòu)成的陳列和連接這些邏輯功能塊的可編程內(nèi)部連線2個(gè)部分。FPGA可以由用戶的設(shè)計(jì)而動態(tài)地改變其內(nèi)部的功能結(jié)構(gòu),其設(shè)計(jì)周期短、修改、擴(kuò)充、維護(hù)方便,用FPGA實(shí)現(xiàn)的系統(tǒng)成本低。升級容易,而且隨著電子設(shè)計(jì)自動化技術(shù)(EDA)和VHDL,AHDL等硬件描述語言的不斷完善,用戶只要進(jìn)行行為級、功能級的描述,則像AlteraⅡ等開發(fā)環(huán)境會自動將其生成為對最終硬件進(jìn)行配置的網(wǎng)表文件,開發(fā)設(shè)計(jì)簡單。這些特點(diǎn)為在硬件系統(tǒng)實(shí)現(xiàn)演化算法、提高演化算法的速度、擴(kuò)大演化算法的實(shí)時(shí)應(yīng)用提供了可能性。
    本文正是基于以上這些考慮,用A1tera公司的Cy—cloneⅡ型號的FPGA,并用VHDL實(shí)現(xiàn)了一種比較先進(jìn)的演化算法,并用該硬件化演化算法求解函數(shù)優(yōu)化問題。最后的實(shí)驗(yàn)結(jié)果表明,用這種硬件化的演化算法大大地提高了演化算法的運(yùn)算速度,為演化算法在實(shí)時(shí)場合的運(yùn)用提供可能性。

2 演化算法硬件化構(gòu)造
    演化算法的硬件化和演化算法的軟件實(shí)現(xiàn)存在很大的不同,演化算法的軟件實(shí)現(xiàn)只需考慮軟件的功能實(shí)現(xiàn)就可以,很多演化算法中的特殊的算子,復(fù)雜的算子只要在理論上可行,實(shí)現(xiàn)的時(shí)候基本上不會存在什么大的問題,但當(dāng)硬件實(shí)現(xiàn)時(shí),問題會變得比較復(fù)雜。
2.1 演化算法的軟件實(shí)現(xiàn)思路
    演化算法的軟件實(shí)現(xiàn),是借助某一種高級語言,譬如:VC,Java等來實(shí)現(xiàn)演化算法的過程。在實(shí)現(xiàn)一個(gè)典型的演化算法過程中一般包括以下幾個(gè)問題:編碼、初始種群的生成、適應(yīng)度評價(jià)函數(shù)設(shè)計(jì)和選擇、交叉、變異算子的設(shè)計(jì)。
    軟件實(shí)現(xiàn)各個(gè)部分含義為:
    (1)編碼的軟件實(shí)現(xiàn):編碼是演化算法求解問題的前提,因?yàn)檠莼惴ㄒ话悴恢苯犹幚韱栴}空間中的變量,而只能通過編碼將問題空間轉(zhuǎn)化為解空間。目前比較流行的編碼技術(shù)包括:二進(jìn)制編碼、格雷碼編碼、實(shí)數(shù)編碼、符號編碼、排列編碼、二倍體編碼、DNA編碼、混合編碼、二維染色體編碼和矩陣編碼等。
    由于目前的高級語言基本上都支持所有的數(shù)據(jù)類型,包括:整型、實(shí)數(shù)型、字符型等,所以上面的各種數(shù)據(jù)類型基本上都可以實(shí)現(xiàn)。
    (2)初始化種群的軟件實(shí)現(xiàn):初始種群的生成也就是隨機(jī)地產(chǎn)生N個(gè)個(gè)體組成1個(gè)初始種群,該種群代表一些可能解的集合。
    在軟件實(shí)現(xiàn)時(shí),若選擇的編碼方式是實(shí)數(shù)編碼.一般都是用一個(gè)偽隨機(jī)數(shù)發(fā)生器,在高級語言中通常就random()函數(shù)生成個(gè)體;若選擇的編碼方式是二進(jìn)制編碼,一般是按照概率生成一個(gè)個(gè)體中的每個(gè)1或是0;若是字符編碼的,通常就是轉(zhuǎn)化一下,通常也是將特定的字符替換成某一數(shù)字,生成該字母序列個(gè)體同樣也就轉(zhuǎn)化為生成該數(shù)字序列。
    (3)適應(yīng)度評價(jià)函數(shù)的軟件實(shí)現(xiàn):適應(yīng)度函數(shù)是用來進(jìn)行個(gè)體評價(jià),判斷個(gè)體適應(yīng)性能優(yōu)劣的方法,該數(shù)值通常是作為個(gè)體選擇的依據(jù),對整個(gè)算的運(yùn)行,算法的性能有重要的影響。
    在軟件實(shí)現(xiàn)時(shí),通常是將該函數(shù)設(shè)計(jì)成一個(gè)獨(dú)立的函數(shù)或是子過程,在每個(gè)需要重新計(jì)算個(gè)體適應(yīng)值的地方只要調(diào)用該函數(shù)就可以。
    (4)遺傳算子的軟件實(shí)現(xiàn):遺傳算子主要有選擇、交叉和變異3大算子。
    選擇算子就是按一定概率從群體中選擇M對個(gè)體,作為雙親用于繁殖后代,產(chǎn)生的新個(gè)體加入下一代種群。選擇過程體現(xiàn)了自然界適者生存的思想。軟件實(shí)現(xiàn)時(shí),一般是每次選擇時(shí)都產(chǎn)生1個(gè)隨機(jī)數(shù),以隨機(jī)數(shù)是否小于某一特定的數(shù)作為是否選擇的判斷條件。
    雜交算子就是對于選中的用于繁殖的每一對個(gè)體,將雙親的基因型在某個(gè)位置斷開,相互交換編碼。軟件實(shí)現(xiàn)時(shí),一般是先按照上面的選擇中的方法選擇2個(gè)個(gè)體,對于二進(jìn)制編碼的隨機(jī)的在個(gè)體中選擇1個(gè)或2個(gè)位置,進(jìn)行交換。對于實(shí)數(shù)編碼,一般是產(chǎn)生2個(gè)和惟一的隨機(jī)數(shù),然后將上面的2個(gè)個(gè)體按這2個(gè)隨機(jī)數(shù)為比例求乘積和。
    變異算子是按一定的概率從種群中選擇若干個(gè)個(gè)體。對于選中的個(gè)體,隨機(jī)選擇某一位進(jìn)行取反操作(二進(jìn)制編碼)或是對個(gè)體進(jìn)行微小的調(diào)整,加上或是減去某個(gè)數(shù)。軟件實(shí)現(xiàn)時(shí),對于二進(jìn)制編碼,一般先產(chǎn)生一個(gè)隨機(jī)數(shù),判斷該隨機(jī)數(shù)與某一個(gè)特定的數(shù)之間的大小,若小于該數(shù)就對個(gè)體中某一位或是幾位進(jìn)行取反操作;對于實(shí)數(shù)編碼一般是以概率對個(gè)體進(jìn)行微調(diào)。
2.2 硬件結(jié)構(gòu)設(shè)計(jì)
2.2.1 從軟件實(shí)現(xiàn)抽象硬件模塊
    要實(shí)現(xiàn)演化算法的硬件化,必須將演化算法的各個(gè)部分都獨(dú)立的在FPGA板上實(shí)現(xiàn)。在具體對演化算法實(shí)現(xiàn)模塊劃分的過程中必須遵循這樣一個(gè)原則:“功能相近的,操作類似的部分劃分在一個(gè)模塊中”。因此,根據(jù)上面對演化算法軟件實(shí)現(xiàn)的各個(gè)部分的分析可以做如下的劃分:
    (1)將軟件實(shí)現(xiàn)中初始化種群單獨(dú)抽象為硬件實(shí)現(xiàn)時(shí)的pop_initial模塊;
    (2)將軟件實(shí)現(xiàn)中適應(yīng)度評價(jià)單獨(dú)抽象為硬件實(shí)現(xiàn)時(shí)的fitness模塊;
    (3)將軟件實(shí)現(xiàn)中選擇操作單獨(dú)抽象為硬件實(shí)現(xiàn)時(shí)的choose模塊;
    (4)將軟件實(shí)現(xiàn)中交叉、變異抽象為硬件實(shí)現(xiàn)時(shí)的crossover_mutation模塊;
    (5)為了進(jìn)行個(gè)體的讀寫還需要2個(gè)內(nèi)存模塊,分別保存?zhèn)€體和其適應(yīng)值;
    (6)為了使這么多模塊互相之間相互協(xié)作的完成任務(wù)還需要一個(gè)控制模塊control模塊,類似與軟件實(shí)現(xiàn)中的CPU協(xié)調(diào)控制程序的運(yùn)行。
2.2.2 硬件系統(tǒng)整體結(jié)構(gòu)圖及解釋
    (1)硬件系統(tǒng)整體結(jié)構(gòu)圖
    硬件系統(tǒng)整體結(jié)構(gòu)圖如圖1所示。

 (2)系統(tǒng)各模塊功能解釋如下:
    Control模塊該模塊好比軟件實(shí)現(xiàn)的時(shí)候的CPU控制著整個(gè)系統(tǒng)的協(xié)調(diào)工作。它的主要功能是產(chǎn)生一些控制信號,控制各個(gè)模塊的啟動、停止,并為各個(gè)模塊的同步提供協(xié)調(diào)信號。具體講:它提供各個(gè)模塊的時(shí)鐘信號,同步各個(gè)模塊;接收來自Randoml模塊的2個(gè)隨機(jī)地址,從RAM模塊中選擇個(gè)體和其對應(yīng)的適應(yīng)值將其傳到Choose模塊;接收來自Choose模塊和Crossover_mutation模塊的狀態(tài)信號,控制其發(fā)出的對其他模塊的控制信號;控制多路數(shù)據(jù)選擇器、Initial模塊和RAM模塊的啟動等。
    Initial模塊該模塊即是初始化模塊,它內(nèi)部主要是由一個(gè)隨機(jī)數(shù)模塊構(gòu)成的,用來產(chǎn)生一定數(shù)量的隨機(jī)數(shù)序列作為初始種群。
    Fitness模塊該模塊用來計(jì)算個(gè)體的適應(yīng)值。一般根據(jù)軟件實(shí)現(xiàn)中適應(yīng)值函數(shù)的不同,該模塊內(nèi)部主要是由一些加法器、鎖存器和乘法器構(gòu)成(在函數(shù)優(yōu)化中)。
    Choose模塊該模塊主要實(shí)現(xiàn)選擇2個(gè)個(gè)體的功能。當(dāng)該模塊啟動,并從存儲模塊接受2個(gè)個(gè)體和其適應(yīng)值后,采用聯(lián)賽競爭機(jī)制選擇兩者中的1個(gè)進(jìn)入下一模塊,如此再選擇1次,選擇2個(gè)要進(jìn)入交叉變異模塊的個(gè)體。
    交叉變異模塊 該模塊在啟動后,接收Choose模塊傳來的2個(gè)個(gè)體,并按照隨機(jī)數(shù)模塊產(chǎn)生的隨機(jī)數(shù)確定交叉點(diǎn),進(jìn)行交叉和變異。
    多路數(shù)據(jù)選擇模塊 對進(jìn)入fitness模塊的個(gè)體進(jìn)行分時(shí)控制。
    Ramdoml模塊該模塊為選擇模塊選擇個(gè)體和適應(yīng)值提供2個(gè)隨機(jī)的地址。
    Ramdom2模塊該模塊為交叉變異模塊提供交叉和變異的概率。
    Ram模塊 主要是用于保存?zhèn)€體和其適應(yīng)值。具體實(shí)現(xiàn)時(shí),我們常用了Altera公司提供的IP core生成2個(gè)雙端口的ram。
    (3)系統(tǒng)總執(zhí)行過程:系統(tǒng)通過Control模塊中的一個(gè)始終上升沿啟動,隨后啟動Intial模塊產(chǎn)生初始種群,并對其產(chǎn)生的個(gè)體進(jìn)行計(jì)數(shù),在達(dá)到規(guī)定的種群數(shù)量后停止Intial模塊,控制模塊控制多路數(shù)據(jù)選擇器對Intial模塊選通,并讓產(chǎn)生的初始個(gè)體進(jìn)入Fitness模塊計(jì)算適應(yīng)值,并存入相應(yīng)的RAM地址中;接著控制模塊啟動Choose模塊,Ramdoml模塊隨機(jī)的產(chǎn)生2個(gè)地址,并選擇該地址中的個(gè)體作為選擇的個(gè)體,運(yùn)用聯(lián)賽選擇選擇其一,如此選擇2次,產(chǎn)生2個(gè)用于Crossover_mutation模塊的個(gè)體,Crossover_mutation模塊在Ramdom2模塊產(chǎn)生的隨機(jī)數(shù)控制下對2個(gè)個(gè)體實(shí)施交叉變異,產(chǎn)生2個(gè)個(gè)體,控制模塊選通多路數(shù)據(jù)選擇模塊對Crossover_mutation模塊選通,使產(chǎn)生的新個(gè)體通過Fitness模塊將個(gè)體和適應(yīng)值存入RAM中相應(yīng)的位置。接著長運(yùn)行上述過程一直到產(chǎn)生規(guī)定數(shù)量的個(gè)體,控制模塊結(jié)束整個(gè)系統(tǒng)的運(yùn)行。
    (4)硬件實(shí)現(xiàn):整個(gè)系統(tǒng)用VHDL語言編程實(shí)現(xiàn)上述各功能模塊,在AlteraⅡ5.O環(huán)境下進(jìn)行仿真。選用Al—tera公司CycloneⅡ型號的FPGA系列進(jìn)行設(shè)計(jì)。Ram塊用Altera IP cote中的雙端口RAM。

3 實(shí) 驗(yàn)
    在本部分中,首先對上述提到的各個(gè)模塊進(jìn)行獨(dú)立的仿真,然后再將其運(yùn)用在一個(gè)函數(shù)的優(yōu)化問題上,并與其他同問題軟件實(shí)現(xiàn)的算法進(jìn)行比較。
    (1)以下對上述提到的模塊進(jìn)行獨(dú)立測試時(shí)候的仿真圖如圖2所示:

圖2為初始化模塊仿真波形圖。從圖中可以看出,當(dāng)復(fù)位信號reset_initial有效以后,立即對“r1_initial信號”和“r2_initial信號”賦初值,然后在下一個(gè)時(shí)鐘的上升沿(5 ns處),初始化開始,每次產(chǎn)生2個(gè)個(gè)體。
    圖3為Fitness模塊仿真圖,適應(yīng)度模塊是個(gè)邏輯模塊,只要輸入的個(gè)體發(fā)生改變,其輸出也就相應(yīng)改變。圖3即為仿真后的波形圖,此時(shí)輸出信號的右側(cè)有值。上述實(shí)現(xiàn)的是f(x)=一|x|的求值,這里可以看到:當(dāng)ina_fitness為“000000001”(實(shí)數(shù)1)和inb_fitness為 “000000011”(實(shí)數(shù)3)時(shí)候,outa_fitness為“100000001”(實(shí)數(shù)一1)、outb_fitness為 “100000011”(實(shí)數(shù)一3)。

圖4為Random模塊仿真圖。圖4中左側(cè)的是信號名稱,中間是信號的隨,右側(cè)是信號的波形圖。由圖4可以看出,在復(fù)位信號reset_radom2未變高之前,輸出的2個(gè)隨機(jī)數(shù)的值是初始值O;當(dāng)復(fù)位信號有效后,2個(gè)輸出立即由O轉(zhuǎn)為2個(gè)非O的輸出。

(2)實(shí)驗(yàn)
    下面將上述各個(gè)模塊合在一起,構(gòu)成一個(gè)完整的系統(tǒng),對以下函數(shù)進(jìn)行優(yōu)化,并進(jìn)行一定的說明。

圖6是用基于FPGA的演化算法對上述函數(shù)進(jìn)行優(yōu)化后得到的最優(yōu)結(jié)果。從上面可以看到,由上述方法得到的最優(yōu)個(gè)體是“11111010”,最差個(gè)體是“11111010”。

用VC++設(shè)計(jì)實(shí)現(xiàn)了上面函數(shù)的優(yōu)化過程,同時(shí)軟件采用的交叉和變異操作與上面提到的方法類似,算法運(yùn)行參數(shù)也相同,并在同一系統(tǒng)環(huán)境下實(shí)現(xiàn):賽揚(yáng)1.7,內(nèi)存256 MB。軟硬件運(yùn)行結(jié)果比較如表1所示。

4 結(jié) 語
    本文從演化算法的軟件實(shí)現(xiàn)到演化算法的硬件化,詳細(xì)的闡釋如何用Altera公司的CycloneⅡ型號的FPGA,并用VHDL實(shí)現(xiàn)一種比較先進(jìn)的演化算法,并用該硬件化演化算法求解一函數(shù)優(yōu)化問題。演化算法的硬件化極大地提高演化算法的運(yùn)行速度,為演化算法在實(shí)時(shí)場合的運(yùn)用提供了一種可能性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

港交所擬修改主板上市規(guī)則,以便利尚未有盈利或業(yè)績支持的先進(jìn)技術(shù)企業(yè)融資。港交所刊發(fā)有關(guān)特??萍脊旧鲜兄贫鹊淖稍兾募?,提議對《上市規(guī)則》進(jìn)行修訂,建議設(shè)立新渠道,以讓特??萍脊居诼?lián)交所主板上市,并就此征詢市場意見。新規(guī)...

關(guān)鍵字: 信息技術(shù) 新能源 硬件

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進(jìn)出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國智造 BSP 手機(jī) CAN

流水賬式的推文比較亂,不夠系統(tǒng),也形成不了好的宣傳效應(yīng),所以我整理了一個(gè)硬件基礎(chǔ)知識框架,后面推文會圍繞這個(gè)展開,中間也會穿插一些項(xiàng)目和實(shí)際應(yīng)用例程。

關(guān)鍵字: 硬件 項(xiàng)目 例程

電子設(shè)計(jì)自動化

21319 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉