• 沒有找到結果。

第二章、 背景知識與相關文獻

2.2 直角座標式基因規劃

直角座標式基因規劃(簡稱CGP)是由學者Julian F. Miller與Peter Thomson在 2000 年提出,利用平面式座標位置先將座標點以二維空間關係由輸入端到輸出端 固定好,再依照座標位置加以編碼[ 8 ]。如果限制電路的描述方式為平面式,則整 個電路結構可視為一個直角座標體系,因此可以利用直角座標式基因規劃進行電

適應度評估 產生下一代

淘汰

輸出最佳解 滿足終 止條件

選擇 交配 突變 產生新一代

路編碼的動作。舉例來說,假設將一個電路結構的座標空間訂為 2 × 2 的結點 (node),如圖 9。每個結點可以擁有AND, XOR, NOT, OR, NULL等邏輯電路功能,

並加以編號(例如,以 0 為AND、1 為NOT、2 為XOR、3 為OR、4 為NULL等等),

其中每個結點都有2 個輸入 1 個輸出(2-by-1)。

圖 9 直角座標式基因規劃

其編碼順序為由上至下、由左至右,每三個數字表示成一個 2-by-1 的結點。

0, 1, 0 表示位置(0, 0)的輸入為線路 0、線路 1,並以 AND(0)連接後輸出至線路位 置2;0, 0, 2 表示位置(0, 1)的輸入為線路 0、線路 0,並以 XOR(2)連接後輸出至線 路位置3;2, 2, 3 表示位置(1, 0)的輸入為線路 2、線路 3,並以 OR(3)連接後輸出 至線路位置4;3, 3, 2 表示位置(1, 1)的輸入為線路 3、線路 3,並以 XOR(2)連接後 輸出至線路位置 5。虛線及顏色較淡的結點則表示該結點未作用,如位置(1, 1)的 XOR 閘。整體的關係為:OUT(4)= (IN(0) AND IN(1)) OR (IN(0) XOR IN(0))。

直角座標式基因規劃也會依照演化式演算法的基本流程進行演化程序,透過 編碼、初始化、評估、挑選、交配、突變、淘汰等步驟來找尋問題的最佳解,其 中突變的方式有兩種分別為

 靜態突變(silent mutation):此突變方式對於問題的解答沒有影響,但是仍舊改 變了染色體的結構,因此可靠後續的突變來產生新的解答,如圖 10所示。原 始的解答為OUT(4)= (IN(0) AND IN(1)) OR (IN(0) XOR IN(0)),經過靜態突變 後,解答為OUT(4)= (IN(0) AND IN(1)) OR (IN(0) XOR IN(0))。

圖 10 靜態突變

 非靜態突變(non-silent mutation):此突變方式直接性的改變染色體的輸出,產 生新的解答,如圖 11所示。原始的解答為OUT(4)= (IN(0) AND IN(1)) OR (IN(0) XOR IN(0)),經過非靜態突變後,解答為OUT(5)= ((IN(0) XOR IN(0) OR (IN(0) XOR IN(0))。

圖 11 非靜態突變

由於FPGA的邏輯區塊可視為是直角座標式基因規劃裡的結點,並且層級與層 級之間可以互連(又稱之為level back),所以非常適合使用直角座標式基因規劃來編 碼問題的解答。舉例來說,若想要設計一個影像雜訊濾波器,則輸入是影像上的 像素,輸出則是過濾出來的結果,中間的電路結構則是過濾雜訊的方法,如下圖 12。

圖 12 影像雜訊濾波器結合 CGP 表 1 功能模組表

No Function Description 0 255 Constant 1 i1 Identity 2 255-Sel1 Inversion

3 i1 | i2 OR

4 (~i1) or i2 (~i1) or i2 5 i1 & i2 AND

6 ~(i1 & i2) NAND

7 i1 ♁ i2 XOR

8 i1 >> 1 Right shift by 1 9 i1 >> 2 Right shift by 2 10 Swap(i1, i2) Swap nibbles 11 i1 + i2 + (addition) 12 i1 + Si2 + with saturation 13 (i1 + i2) >> 1 average

14 Max(i1, i2) Maximum 15 Min(i1, i2 ) Minimum

其中淡色位置表示該結點對於過濾結果並無影響,整個座標空間可以容納4 × 6=24 個可配置邏輯區塊(configurable logic block, CLB)但目前使用 9 個有效位置,

有15 個位置為無效空間,其功能模組表(function table)如表 1所示。電路經過編碼 後為016, 232, 454, 6710, 0105, 9111, 10129, 1287, 1397, 131111, 11153, 16160, 13175, 171911, 11163, 20168, 21174, 18235, 18206, 24161, 21220, 26276, 22284, 24288, 1,此編碼亦可視為是染色體、一個問題的解答。

相關文件