《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于二倍體顯性機(jī)制的DNA算法研究
基于二倍體顯性機(jī)制的DNA算法研究
?徐凱,陳賢富
(中國科學(xué)技術(shù)大學(xué) 電子科學(xué)與技術(shù)系,安徽 合肥 230027)
摘要: 有鑒于傳統(tǒng)遺傳算法與生物DNA遺傳機(jī)制機(jī)理差異較大,依據(jù)生物遺傳的DNA遺傳特性,提出并研究設(shè)計了一種基于二倍體顯性機(jī)制的DNA遺傳計算方法(AO方法),分析了AO交叉方法的模式抽樣特性,并結(jié)合若干典型測試函數(shù)的遺傳優(yōu)化問題設(shè)計了相關(guān)DNA算法,開展了相關(guān)實驗研究工作。理論分析與實驗結(jié)果顯示,本文提出的這種DNA遺傳計算方法在綜合優(yōu)化效率方面明顯優(yōu)于Holland傳統(tǒng)遺傳算法。
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A
DOI: 10.19358/j.issn.2096-5133.2018.07.011
中文引用格式:徐凱,陳賢富.基于二倍體顯性機(jī)制的DNA算法研究[J].信息技術(shù)與網(wǎng)絡(luò)安全,2018,37(7):46-49.
?Study on DNA algorithm based on diploid dominant mechanism
?Xu Kai, Chen Xianfu
(Department of Electronic Science and Technology, University of Science & Technology of China,Hefei 230027,China)
Abstract: In view of the large difference between traditional genetic algorithm and genetic mechanism of biological DNA, we proposed and designed a DNA genetic calculation method based on diploid dominant mechanism. We analyzed the pattern sampling characteristics of the AO cross method, designed related DNA algorithm combining with several typical test functions, and carried out the related experimental research. Both theoretical analysis and experimental results show that the DNA genetic algorithm proposed in this paper is superior to Holland's traditional genetic algorithm in terms of comprehensive optimization efficiency.
Key words : diploid dominant mechanism; genetic manipulation; DNA calculation; genetic optimization

0  引言

生物學(xué)中,二倍體是指含有兩個同源基因組的個體[1]。根據(jù)孟德爾分離定律可知,當(dāng)兩個同源基因組其中之一為顯性時,該基因?qū)?yīng)的性狀表現(xiàn)為顯性。僅當(dāng)兩個同源基因組均為隱性時,表現(xiàn)型為隱性,如圖1[1]所示。基因重組是保持生物特性世代遺傳的基本方式,也是獲取大量遺傳變異的主要源泉。遺傳算法[2]中的交叉操作可視為對生物遺傳過程中基因重組的直接模擬,交叉算子選擇得好壞直接影響算法的性能。對于占主流的二值編碼(0/1編碼)方法來說,目前最常用的交叉方法主要有以下兩類:

(1)一點(diǎn)交叉、兩點(diǎn)交叉與多點(diǎn)交叉[1,3-4]

一點(diǎn)交叉(one-point crossover)又叫簡單交叉。具體操作是:在個體串中隨機(jī)設(shè)定一個交叉點(diǎn),實行交叉時,該點(diǎn)前或后的兩個個體的部分結(jié)構(gòu)進(jìn)行互換,并生成兩個新個體。

兩點(diǎn)交叉(two-point crossover)方法與一點(diǎn)交叉類似,只是多設(shè)置了1個交叉點(diǎn),交叉時,A、B兩個體中位于這兩個交叉點(diǎn)之間的碼串相互交換,其余碼串不變。

多點(diǎn)交叉(multi-point crossover) 是前述兩種交叉的推廣,有時又被稱為廣義交叉(generalized crossover),一點(diǎn)交叉和兩點(diǎn)交叉可視為多點(diǎn)交叉的特殊形式。

微信截圖_20181026111037.png

(2)一致交叉[2]

所謂一致交叉(uniform crossover)是指通過設(shè)定屏蔽字(mask)來決定子個體的哪些基因繼承父本A 中的對應(yīng)基因,哪些基因繼承父本B 中的對應(yīng)基因。一般來說,點(diǎn)數(shù)較多的交叉操作可提供更加豐富的遺傳變異材料,有利于維護(hù)種群基因型的多樣性,但對關(guān)鍵模式的保護(hù)能力較差,收斂的速度也較慢。從模式(schemata)處理角度看,一點(diǎn)、兩點(diǎn)及多點(diǎn)交叉方法存在著“位置相關(guān)”的缺陷。在此情況下,短模長模式比長模長模式有更大的存活概率,而對于很多應(yīng)用問題,因領(lǐng)域知識較少,基因間的關(guān)系密切程度不易確定,人為的基因編碼排列方案可能極不合理,這將影響多點(diǎn)交叉操作的效果和GA搜索的效率。

與多點(diǎn)交叉方法相比,一致交叉由于平等對待所有的模式,因而克服了多點(diǎn)交叉方法存在的“位置相關(guān)”缺陷,但在種群基因型相似性較高的情況下,由于隨機(jī)交換發(fā)生在相同基因座之間的概率較高,故存在優(yōu)化后期階段進(jìn)化遲鈍、搜索效率欠佳的缺陷。

針對上述問題,參照生物DNA遺傳機(jī)制機(jī)理,提出并研究設(shè)計了一類擬合生物遺傳二倍體顯性機(jī)制的新型DNA遺傳算法。

1  二倍體顯性遺傳算子

一點(diǎn)交叉、多點(diǎn)交叉及一致交叉方法的共同之處在于均繼承了兩父串的相同基因,差異僅在于對父串不同基因的處理方式。二倍體顯性遺傳算子也可以繼承親本同型等位基因,而對雜型等位基因則按“與”和“或”邏輯分別進(jìn)行處理。例如,若兩父串為:

F1: 0100101101

F2: 1101110100

則由“與/或”交叉方法產(chǎn)生的兩子串分別為:

C1: 0100100100

C2: 1101111101

顯然,這一遺傳操作方法使子代繼承了雙親的同型基因;對于雙親的雜型基因,“與/或”交叉方法采取了兩種不同的“強(qiáng)調(diào)”策略:“與”運(yùn)算強(qiáng)調(diào)0基因的作用,而“或”運(yùn)算則強(qiáng)調(diào)1基因 的作用。這種交叉方法較為逼真地模擬了生物DNA遺傳的顯性(dominance)機(jī)制,“與”運(yùn)算將1視為隱性基因,而“或”運(yùn)算將0視為隱性基因。

2  二倍體顯性遺傳計算模式分析

為便于對AO交叉方法進(jìn)行模式分析,這里參照Holland模式分析方法,先定義幾個有關(guān)基因型模式的概念。

定義1: 0_模式由字符集{*0*}構(gòu)成的字符串稱作0_模式,記為H0。其中,字符0為反映模式結(jié)構(gòu)特征的確定性信息,*為反映模式結(jié)構(gòu)特征的不確定性信息。

定義2: 1_模式由字符集{*1*}構(gòu)成的字符串稱作1_模式,記為H1。其中,字符1為反映模式結(jié)構(gòu)特征的確定性信息,*為反映模式結(jié)構(gòu)特征的不確定性信息。

有了這些定義,再參考 Holland模式分析方法[1,3-4],不難得出二倍體顯性遺傳計算在模式形成和增長方面具有如下特性:

(1)1階優(yōu)模式的數(shù)目(數(shù)學(xué)期望)在連續(xù)后代中按式(1)增長:

微信截圖_20181026112418.png

(2)高于種群的平均適應(yīng)度的1階0_模式在連續(xù)后代中按式(2)增長:

微信截圖_20181026112424.png

(3)高于種群的平均適應(yīng)度的1階1_模式在連續(xù)后代中按式(3)增長:

微信截圖_20181026112434.png

其中,H表示某個模式,m(H,t)表示在t代種群中隱含模式H的串的個數(shù),m(H,t+1)表示在t+1代種群中隱含模式H的串的個數(shù)(數(shù)學(xué)期望),微信截圖_20181026114251.png為t代種群中含模式H個體的平均適應(yīng)度,f為t代種群中所有個體的平均適應(yīng)度,Pm為變異概率,ο(H)為模式H的模階。

很明顯,與 Holland標(biāo)準(zhǔn)GA相比,基于二倍體顯性機(jī)制的DNA遺傳計算(AO交叉)對于適應(yīng)度高于種群平均適應(yīng)度的0_模式和1_模式有較強(qiáng)的保護(hù)能力。而對于0、1混雜的一般模式,AO交叉方法對模式H的破壞作用除了與變異概率以及模階的高低相關(guān)外,還與模式H中的0和1個數(shù)之比相關(guān)。當(dāng)模式H中0和1個數(shù)相等時,AO交叉對模式H的破壞作用最大。

模式H中0和1在數(shù)目上相差越大,AO交叉對模式H的破壞作用越小;當(dāng)模式H中的確定信息位全為0或全為1時,AO交叉對模式H無破壞作用。由此不難推測AO交叉操作在搜索、優(yōu)化應(yīng)用中可能具有如下特點(diǎn):

(1)當(dāng)問題全局最優(yōu)解的基因編碼為全0或全1時,由于AO交叉對0_模式和1_模式無破壞作用,因此,采用AO交叉的GA可能會以相當(dāng)高的速度搜索到問題的全局最優(yōu)解。

(2)當(dāng)問題全局最優(yōu)解的基因編碼0、1個數(shù)在數(shù)量比上相差很大時,由于AO交叉對這類0、1混雜優(yōu)模式破壞作用較小,因此,與一點(diǎn)交叉等方法相比,采用AO交叉的GA可能會以相對較快的速度搜索到問題的全局最優(yōu)解。

(3)當(dāng)問題全局最優(yōu)解的基因編碼0、1個數(shù)在數(shù)量比上相差不大直至相等時,由于AO交叉對這類0、1混雜優(yōu)模式破壞作用較大,此時,采用AO交叉的GA的收斂可能比較慢,甚至不及一點(diǎn)交叉或一致交叉等方法。

3  遺傳優(yōu)化實驗

為了檢驗AO交叉方法的優(yōu)化性能,本文選擇了易于采用 0/1二值編碼方案的典型優(yōu)化問題進(jìn)行實驗,即Bohachevsky函數(shù)優(yōu)化問題。

實驗環(huán)境為:Inter(R) Core(TM) i5-7300U CPU @2.6 GHz 2.71 GHz筆記本電腦,Windows 10,Visio Studio 2010。

Bohachevsky函數(shù)[5-7]為:

微信截圖_20181026114655.png

優(yōu)化目標(biāo)為求Bohachevsky函數(shù)的全局最小值。由數(shù)學(xué)分析方法可知Bohachevsky函數(shù)的最小值為0,發(fā)生在(0,0)點(diǎn)。該函數(shù)三維形狀如圖2所示。

微信截圖_20181026114810.png

實驗?zāi)康脑谟跈z測AO交叉方法的性能,選用一點(diǎn)交叉作為比較對象,GA的配種選擇機(jī)制采用正比于適應(yīng)度的賭輪隨機(jī)選擇方式。為了與AO交叉法的邏輯操作形式相一致,這里的變異操作采用“異或/異或非”方式,其效果等同于位點(diǎn)變異方法。實驗中的變異概率為0.05,交叉概率為1.00,種群規(guī)模為400,種群更新方式采用最佳保留方式。采用二進(jìn)制編碼方式,實驗結(jié)果如表1所示,表中列出的優(yōu)化時間為20次實驗的平均值。

微信截圖_20181026114957.png

從實驗結(jié)果可以看出各種不同的交叉算子在Bohachevsky函數(shù)優(yōu)化中均能搜索到全局最優(yōu)解但優(yōu)化效率有差異。AO 交叉操作方法在優(yōu)化效率方面明顯高于一點(diǎn)交叉方法。根據(jù)前文對AO交叉方法的分析,AO交叉的優(yōu)化性能可能還與問題最優(yōu)解的編碼特性(0和1的數(shù)量比)相關(guān)。為此,本文通過設(shè)置最小極值點(diǎn)發(fā)生的位置來改變?nèi)〉米顑?yōu)解時自變量編碼的0和1的個數(shù)。為檢測最優(yōu)解的編碼特性對AO交叉法優(yōu)化性能的影響,令:

          x1=y1-m                      (5)

           x2=y2-m                      (6)

這樣,如果針對自變量y1、y2進(jìn)行遺傳優(yōu)化,則Bohachevsky函數(shù)的最小極值點(diǎn)發(fā)生在(m,m)。實驗中,y1、y2的編碼方式為二進(jìn)制編碼方式,位長均為30位。適應(yīng)度函數(shù)設(shè)計為:

           f(x1,x2)=1/(F(x1,x2)0.000 001)   (7)

為了調(diào)整最優(yōu)解的編碼特性,本文將m線性映射到30位二進(jìn)制編碼空間,00…00對應(yīng)于 -1.00,11…11對應(yīng)于+1.00;實驗中的其他參數(shù)設(shè)計與前述Bohachevsky函數(shù)優(yōu)化相同。實驗結(jié)果表明,采用AO交叉法的GA算法能搜索到Bohachevsky函數(shù)不同位置的全局最優(yōu)解,但優(yōu)化所需時間有較大差異。圖3顯示了不同m值下, AO交叉法的優(yōu)化時間曲線,其中,縱坐標(biāo)為優(yōu)化到最優(yōu)解所需的時間(20次實驗的平均值),橫軸為m在二進(jìn)制編碼中所含0的個數(shù),自0直到30。

微信截圖_20181026115552.png

從圖3可以看出,AO交叉方法的優(yōu)化效率隨著0、1數(shù)目的變化有很大差異;在m值(二進(jìn)制碼)為00…00和11…11時,AO交叉方法的優(yōu)化效率最高,而當(dāng)m中的0、1個數(shù)比接近于1時,AO交叉的優(yōu)化效率最低。

4  結(jié)束語

與流行的一點(diǎn)交叉和一致交叉等方法相比,本文提出并研究設(shè)計的二倍體顯性DNA遺傳計算方法在模式抽樣機(jī)理方面有其獨(dú)特性,主要表現(xiàn)在對優(yōu)質(zhì)0_模式和優(yōu)質(zhì)1_模式有較強(qiáng)的保護(hù)作用。實驗結(jié)果顯示,這種抽樣特性導(dǎo)致AO交叉的優(yōu)化效率隨最優(yōu)解(二值編碼)的0、1分布變化而發(fā)生變化;最優(yōu)解包含的0和1的個數(shù)相差越大,則優(yōu)化效率越高,反之,則優(yōu)化效率越低。實驗結(jié)果也顯示出在最優(yōu)解包含的0和1的個數(shù)之比接近于1.00的較小范圍內(nèi),AO交叉方法的優(yōu)化效率較低。如果假定最優(yōu)解所包含的0(或1)個數(shù)呈均勻分布,則AO交叉方法將在總體優(yōu)化效率上明顯超越一點(diǎn)交叉等傳統(tǒng)遺傳算法,統(tǒng)計實驗結(jié)果有力支持了上述理論分析與算法設(shè)計思想。

需要特別指出的是,生物DNA遺傳過程除了多倍體顯性機(jī)制機(jī)理外,還特別依賴于DNA雙螺旋結(jié)構(gòu)。生物DNA雙螺旋二倍體染色體結(jié)構(gòu)在群體遺傳基因多樣性維護(hù)方面有著獨(dú)特的功效。限于篇幅,有關(guān)二倍體雙螺旋結(jié)構(gòu)的DNA模擬計算研究在此不做贅述。

參考文獻(xiàn)

[1] GLODBERG D E.Genetic algorithms in search, optimization & machine learning[M].Addison-Wesley, Reading, Mass, 1989.

[2] Peng Hu,Wu Zhijian,Zhou Xinyu, et al.Dynamic differential evolution algorithm based on elite local learning[J].Acta Electronica Sinica,2014,42 (8) : 1522-1530.

[3] 魯宇明,黎明,李凌.一種具有演化規(guī)則的元胞遺傳算法[J].電子學(xué)報,2010,38 (7) : 1603-1607.

[4] 劉淵,楊永輝,張春瑞,等. 一種基于遺傳算法的Fuzzing測試用例生成新方法[J].電子學(xué)報,2017,45(3):552-556.

[5] FOGEL G, FOGEL D.Continous evolutionary programming:analysis and experiments[J].Journal of Cybernetics and Systems,1994,26(1):79-90.

[6] 李柱.基于自適應(yīng)遺傳算法的軟件測試用例自動生成[J].計算機(jī)系統(tǒng)應(yīng)用,2016,25(1):192-196

[7] 陳賢富, 莊鎮(zhèn)泉,王煦法.遺傳算法的自適應(yīng)進(jìn)化策略及TSP問題的遺傳優(yōu)化[J]. 電子學(xué)報, 1997,25 (7):111-114.

(收稿日期:2018-04-11)

 

作者簡介:

徐凱(1991-),女,碩士研究生,主要研究方向:深度學(xué)習(xí)與人工智能。

陳賢富(1963-),男,副教授,主要研究方向:復(fù)雜系統(tǒng)與計算智能。

 


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。