關(guān) 慧,歷子謙,呂 穎
(1.沈陽(yáng)化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 沈陽(yáng) 110028;2.遼寧省化工過(guò)程工業(yè)智能化技術(shù)重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110142)
軟件工程的發(fā)展使得設(shè)計(jì)模式的使用成為一種合理的實(shí)踐,使用設(shè)計(jì)模式是解決開(kāi)發(fā)團(tuán)隊(duì)中反復(fù)出現(xiàn)問(wèn)題的首選方法,它可以避免“造輪子”,也可以簡(jiǎn)化針對(duì)正在解決問(wèn)題部分的解決方案進(jìn)行交流[1]。但是在沒(méi)有任何工具的支持下,要找到正確的設(shè)計(jì)模式來(lái)解決給定的設(shè)計(jì)問(wèn)題是非常困難的,因?yàn)榇_定設(shè)計(jì)模式對(duì)給定問(wèn)題的適用性很大程度上依賴(lài)于軟件開(kāi)發(fā)人員的經(jīng)驗(yàn),而且對(duì)于不熟悉設(shè)計(jì)模式且不知道如何找到最佳模式的新手開(kāi)發(fā)人員來(lái)說(shuō)也是極其困難的[2]。此外還有大量的設(shè)計(jì)模式,如Booch 2006,Coad 1995,Douglass 2002等,對(duì)于非常了解模式的開(kāi)發(fā)人員也十分具有挑戰(zhàn)性[3-4]。設(shè)計(jì)模式主要由設(shè)計(jì)意圖、適用性、結(jié)構(gòu)等部分組成,H.Kampffmeyer[5]認(rèn)為設(shè)計(jì)意圖部分是理解設(shè)計(jì)模式的最短路徑,因此通過(guò)設(shè)計(jì)模式意圖的處理對(duì)于設(shè)計(jì)模式的選擇是十分有必要的。
很多學(xué)者就設(shè)計(jì)模式的選擇做了相關(guān)的研究。M.R.J.Qureshi等[6]在問(wèn)題驅(qū)動(dòng)幫助用戶(hù)選擇設(shè)計(jì)模式上做了一番研究,設(shè)計(jì)模式中一些特定的場(chǎng)景的表達(dá),需要人工參與解釋?zhuān)@樣有利于相對(duì)精確地選擇正確設(shè)計(jì)模式,但對(duì)于問(wèn)題來(lái)說(shuō),通常是靜態(tài)或者通用,而且在模式數(shù)量巨大的情況下,構(gòu)造問(wèn)題也是一個(gè)極具挑戰(zhàn)性的任務(wù)。Suresh S等[7]使用文本分類(lèi)和文本檢索技術(shù),為每個(gè)設(shè)計(jì)模式類(lèi)訓(xùn)練一個(gè)分類(lèi)器,但分類(lèi)器的分類(lèi)能力與樣本容量和稀疏密度密切相關(guān);Hussian等[8]基于本體和文本匹配場(chǎng)景,基于本體方法的缺點(diǎn)在于構(gòu)造很昂貴,并且給方法自動(dòng)化帶來(lái)障礙。Gupta等[9]使用了歸一化互相關(guān)幫助用戶(hù)選擇模式,歸一化互相關(guān)技術(shù)已經(jīng)廣泛應(yīng)用于機(jī)器視覺(jué),用圖像中的相關(guān)程度匹配引申到設(shè)計(jì)模式的匹配上,優(yōu)點(diǎn)是給類(lèi)圖之間比較提供了量化的方法,但只在結(jié)構(gòu)上判定兩個(gè)設(shè)計(jì)是否相似,其正確性也有待斟酌。Smith等[10]設(shè)計(jì)的選擇方法,基于在設(shè)計(jì)文檔或代碼中檢測(cè)反模式的設(shè)計(jì)模式,在代碼級(jí)推薦設(shè)計(jì)模式是一個(gè)好的想法,但在代碼開(kāi)發(fā)階段再考慮設(shè)計(jì)模式為時(shí)已晚,因?yàn)檐浖呀?jīng)設(shè)計(jì)好了,還需要更改就變成很麻煩的事。Issaoui等[11]使用了一個(gè)相似矩陣來(lái)比較從設(shè)計(jì)中提取的詞語(yǔ)(類(lèi)名、方法名等)和模式參與者扮演的角色,并與設(shè)計(jì)人員交互,獲得設(shè)計(jì)片段的上下文的文本描述,通過(guò)預(yù)先設(shè)計(jì)的模式問(wèn)題精煉結(jié)果,該方法改進(jìn)了單一使用某個(gè)方面選擇模式的缺點(diǎn),但設(shè)計(jì)問(wèn)題需要提前設(shè)計(jì),當(dāng)模式數(shù)量巨大時(shí)同樣將面臨問(wèn)題。P.Gomes等[12]采用了一種基于案例推論的方法,案例表示在過(guò)去的軟件設(shè)計(jì)中已經(jīng)應(yīng)用了模式的情況,用類(lèi)圖來(lái)描述案例,但其缺點(diǎn)是圖并不總是有用的,也不能產(chǎn)生相關(guān)性分?jǐn)?shù)。W.Muangon等[13-14]提出了一種基于案例推理和形式概念分析相結(jié)合的內(nèi)聚技術(shù)的解決方案,這種集成使得檢索組織能夠構(gòu)造一個(gè)完整的設(shè)計(jì)問(wèn)題描述,用來(lái)尋找合適的設(shè)計(jì)模式。
本方法通過(guò)Stanford Parser對(duì)設(shè)計(jì)模式的意圖文本和設(shè)計(jì)模式實(shí)際問(wèn)題做文本預(yù)處理,得到相應(yīng)的詞對(duì)集,表示成相應(yīng)的向量,通過(guò)定義的詞對(duì)匹配評(píng)分函數(shù),為設(shè)計(jì)模式意圖和實(shí)際問(wèn)題評(píng)出相似度評(píng)分,降序排序得到設(shè)計(jì)模式的排序結(jié)果。整體流程如圖1所示。
圖1 方法整體流程
從文本提取關(guān)鍵詞使用Stanford Parser的Stanford Dependency parser[15-16]生成表述每個(gè)句子中成對(duì)單詞之間的語(yǔ)法依賴(lài)類(lèi)型。在語(yǔ)法分析器提供的48個(gè)Type dependency(Td)中,只有四個(gè)提供了與輸入問(wèn)題相關(guān)的實(shí)體和意圖[17],分別如表1所示。
表1 四種Td的含義與組合詞性
詞形還原(Lemmatization)被用來(lái)還原單詞形態(tài),其使用已知單詞形式組成的字典,并考慮單詞在句子中的作用,將單詞標(biāo)準(zhǔn)化為詞元。
例如:Decorate模式的意圖“Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to sub classing for extending functionality.”解析見(jiàn)表2。
表2 Decorate模式意圖抽取Td結(jié)果
文本預(yù)處理通過(guò)上述兩個(gè)方法,首先將設(shè)計(jì)模式意圖解析成語(yǔ)法關(guān)系,提取所需的單詞對(duì),然后通過(guò)詞形還原獲得標(biāo)準(zhǔn)化后的單詞。
設(shè)計(jì)模式的意圖通過(guò)解析成單詞對(duì),表示成為設(shè)計(jì)模式向量(DPV),當(dāng)輸入問(wèn)題時(shí),產(chǎn)生輸入問(wèn)題向量(IPV),每種模式的DPV和IPV之間需要計(jì)算一個(gè)相似度,根據(jù)計(jì)算得出的相似度得分進(jìn)行排序。由于不同Td之間相應(yīng)位置詞的詞性有所不同,組合的方式不同,所以將文本預(yù)處理獲得的單詞對(duì)分為多個(gè)集合,分別為nsubj,nsubjp,dobj和nmod。
DPV與IPV之間的關(guān)系如圖2所示,Xi,Yi分別表示DPV與IPV的TdSet中的元素。
圖2 文本向量之間的關(guān)系
為了增加關(guān)鍵詞的匹配,考慮WordNet中同義詞(synonyms)、上位詞(hypernyms)、下位詞(hyponyms)的匹配,當(dāng)匹配的是詞匯的上位詞和下位詞時(shí),從匹配得分中扣除懲罰項(xiàng)(Ps),由于單詞對(duì)比單個(gè)單詞所蘊(yùn)含的語(yǔ)義信息更豐富,所以當(dāng)兩個(gè)單詞都得到匹配時(shí),則獲得一定獎(jiǎng)勵(lì)。例如“provide alternative”和“supply alternative”的計(jì)算匹配得分為:(1)“supply”是“provide”的上位詞,所以匹配的分為1-Ps;(2)“alternative”和“alternative”是相同的詞,匹配得分為1;(3)兩個(gè)詞都匹配上,額外獲得獎(jiǎng)勵(lì)1。所以總分為(1-Ps)+1+1。文中定義算法如下:
以下偽代碼中synonyms(a,b),hypernym(a,b)和hyponym(a,b)在返回a,b在WordNet中是否為同義/相等,a是否為b的上位詞和a是否為b的下位詞,返回的是boolean型。
輸入:A,B分別是設(shè)計(jì)模式和問(wèn)題相應(yīng)TdSet中的一個(gè)元素,Ps是懲罰項(xiàng),syn,hyper,hypo分別為同義、上位和下位詞的匹配是否開(kāi)啟的參數(shù),取值boolean型。
輸出:Score是A,B兩個(gè)Td的相似性評(píng)分。
步驟:
初始化:govscore=0,depscore=0
if synonyms(A.gov,B.gov) & & syn==true then
govscore+=1
end if
if(hypernym(A.gov,B.gov)& & hyper==true) ||
(hyponoym(A.gov,B.gov)& & hypo==true) then
govsocre+=1-Ps
end if
if synonyms(A.dep,B.dep) & & syn==true then
depscore += 1
end if
if (hypernym(A.dep,B.dep)& & hyper==true) ||
(hyponoym(A.dep,B.dep)& & hypo==true) then
depsocre+=1-Ps
end if
Score=govscore+depscore
if depscore>0 & & govscore>0 then
score+=1
end if
Return scorsse
WordNet中的Td類(lèi)型不同,搭配的詞性不同,所以匹配時(shí)將不同集合分別計(jì)算,計(jì)算公式如下:
其中,Tdi∈{nsubj,nsubjp,dobj,nomd}。
其中,α,β,γ為權(quán)重參數(shù);DPV為設(shè)計(jì)模式向量;IPV為問(wèn)題向量;Num(SetTdi)為設(shè)計(jì)模式Td集合中元素的數(shù)量;MatchTdi(DpSet,IpSet)為設(shè)計(jì)模式與問(wèn)題在Tdi上的匹配評(píng)分。
相似度函數(shù)性質(zhì):
(a)相似度的值應(yīng)在[0,1];
(b)當(dāng)進(jìn)行比較的兩個(gè)向量屬性相同時(shí),相似度為1,完全不同時(shí),相似度為0。
證明:
設(shè):設(shè)計(jì)模式向量為DPV,輸入問(wèn)題向量為IPV。
(1)當(dāng)DPV≠I(mǎi)PV時(shí),Sim(DPV,IPV)=0。
∵DPV≠I(mǎi)PV
∴MatchTdi(DpSet,IpSet)=0,
Tdi∈{nusbj,nsubjp,dobj,nmod}
∵[αNum(Setdobj)+βNum(Setnmod)+
γ(Num(Setnsubj)+Num(Setnsubjp))]*3≠0
Tdi∈{nusbj,nsubjp,dobj,nmod}
∵[αNum(Setdobj)+βNum(Setnmod)+
γ(Num(Setnsubj)+Num(Setnsubjp))]·3≠0
∴Sim(DPV,IPV)=0
Tdi∈{nusbj,nsubjp,dobj,nmod}
∵[αNum(Setdobj)+βNum(Setnmod)+γ(Num(Setnsubj)+Num(Setnsubjp))]·3≠0
∴Sim(DPV,IPV)=0
(2)當(dāng)DPV=IPV時(shí),Sim(DPV,IPV)=1。
∵DPV=IPV
∴MatchTdt(DpSet,IpSet)=Num(SetTdi)*3
Tdi∈{nusbj,nsubjp,dobj,nmod}
∴αMatchdobj+βMatchnmod+γ(Matchnsubj+Matchnsubjp)=
aNum(Setd0bj)÷3+βNum(Setnmod)*3+
γ(Num(Setnsubj)+Num(Setnsubjp))*3
∴Sim(DPV,IPV)=1
(3)當(dāng)DPV與IPV部分相似時(shí),0 ∵ DPV與IPV部分相似 ∴MatchTdi(DpSet,IpSet)≤Num(SetTdi)*3 ∴Sim(DPV,IPV)≤1 又∵(1)(2) ∴0 綜上,證畢。 有文本兩段如下: 設(shè)計(jì)模式“Visitor”意圖:“Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.” 實(shí)際設(shè)計(jì)問(wèn)題:“Many distinct and unrelated operations need to be performed on node objects in a heterogeneous aggregate structure. You want to avoid "polluting" the node classes with these operations. And, you don't want to have to query the type of each node and cast the pointer to the correct type before performing the desired operation.” 根據(jù)語(yǔ)法拆分可獲得各自Td集,如圖3所示。 圖3 拆分Td集結(jié)果 首先確定參數(shù),不妨假設(shè)參數(shù)組合為:α=1,β=1,γ=1,Ps=0.4,syn=true,hyper=true,根據(jù)各自Td集內(nèi)的單詞對(duì)計(jì)算相應(yīng)的Score,相應(yīng)求和計(jì)算Td集的Match分?jǐn)?shù),匹配上的如表3所示。 表3 Match結(jié)果 由于DPV.Z=?,所以相應(yīng)的Matchnsubjpass(DpSet,IpSet )=0;DPV.W1匹配DPV.W1和DPV.W3都等于1,則取最大值1,則Matchdobj(DpSet,IpSet )=1;DPV.X1,DPV.X2,DPV.X3分別匹配上了IPV.X4,IPV.X3,IPV.X1,所以Matchnmod(DpSet,IpSet)=3;同理,Matchnsubj(DpSet,IpSet)=4。由圖3得,Num(Setdobj)=3即在參數(shù)為(1,1,1,0.4,true,true,false)時(shí),實(shí)際問(wèn)題與設(shè)計(jì)模式之間的相似度為24.2%。 參數(shù)隨著問(wèn)題實(shí)例的增加,精確求解方法變得非常耗時(shí),另外參數(shù)確定的狀態(tài)空間隨著參數(shù)取值范圍和精度的增加而增加,就文中參數(shù)而言,共225種組合方式。參數(shù)調(diào)優(yōu)模塊采用遺傳算法的框架,將要解決的問(wèn)題模擬成生物進(jìn)化過(guò)程,進(jìn)行多次迭代后就有可能會(huì)進(jìn)化出相對(duì)表現(xiàn)較好的參數(shù)方案,然而所有的遺傳算法都必須具有良好的問(wèn)題遺傳表示,合適的適應(yīng)度函數(shù)才能有效的工作,因此定義規(guī)則與適應(yīng)度函數(shù)如下。 編碼是應(yīng)用遺傳算法時(shí)要解決的首要問(wèn)題,也是設(shè)計(jì)遺傳算法的一個(gè)關(guān)鍵步驟。需要確定的參數(shù)有α,β,γ,Ps,syn,hyper,hypo共7個(gè)。α,β,γ是三種詞集的相應(yīng)的權(quán)重,對(duì)不同設(shè)計(jì)模式數(shù)據(jù)集[17-18]經(jīng)過(guò)10輪,每輪200代的遺傳測(cè)試顯示,在數(shù)值在0~10之間浮動(dòng)會(huì)對(duì)相應(yīng)適應(yīng)度值有較顯著的影響,其他數(shù)值幾乎無(wú)明顯影響,所以文中參數(shù)設(shè)置取[0,10]之間,Ps是懲罰項(xiàng),取值范圍為(0,1),精確到小數(shù)點(diǎn)后2位,syn,hyper,hypo分別是同義詞,上位詞,下位詞的開(kāi)關(guān)參數(shù),取布爾值,各參數(shù)取值范圍如表4所示。 表4 參數(shù)取值范圍 為了表示以上參數(shù),文中采用二進(jìn)制編碼的編碼方式。二進(jìn)制編碼具有編解碼操作方便,交叉編譯便于實(shí)現(xiàn),符合最小字符集等特點(diǎn)。假設(shè)某一參數(shù)的取值范圍為[Umin,Umax],用長(zhǎng)度為l的二進(jìn)制編碼符號(hào)串表示該參數(shù),則δ為該二進(jìn)制編碼的精度。 以上參數(shù)用31位的二進(jìn)制符號(hào)串表示,其分布如圖4所示。 圖4 31位染色體的遺傳表示 從編碼后的基因型向可用參數(shù)的表現(xiàn)型轉(zhuǎn)換的方式稱(chēng)為解碼。假設(shè)某一參數(shù)的編碼為bkbk-1bk-2…b2b1,則解碼公式為: 遺傳算法中,群體的進(jìn)化過(guò)程就是以群體中各個(gè)個(gè)體的適應(yīng)度為依據(jù),通過(guò)一個(gè)反復(fù)迭代的過(guò)程,不斷尋找求出適應(yīng)度較大的個(gè)體。所以適應(yīng)度函數(shù)的確定也十分重要。設(shè)Rank為相似度排名后設(shè)置展示的數(shù)量,RankNum[i]為問(wèn)題對(duì)應(yīng)的設(shè)計(jì)模式在Rank結(jié)果中位于第i位的總數(shù)量,則適應(yīng)度函數(shù)定義如下: 當(dāng)排名越靠前的數(shù)量越多時(shí),F(xiàn)itness的值越大,并且適應(yīng)度緩慢增加,有利于尋找到最優(yōu)解。 文中提供兩組設(shè)計(jì)模式數(shù)據(jù)集與一組安全設(shè)計(jì)模式數(shù)據(jù)集。 設(shè)計(jì)模式數(shù)據(jù)集: 安全設(shè)計(jì)模式樣本集合(46)[17]。被分為8類(lèi),系統(tǒng)訪問(wèn)與控制體系結(jié)構(gòu),訪問(wèn)控制模型,身份識(shí)別與認(rèn)證,操作系統(tǒng)訪問(wèn)控制,安全互聯(lián)網(wǎng)應(yīng)用,防火墻體系結(jié)構(gòu),企業(yè)安全與風(fēng)險(xiǎn)管理,賬單。 Gof模式組[18]是設(shè)計(jì)模式主要參考書(shū)籍之一,面向?qū)ο笤O(shè)計(jì)模式樣本集合(23),被分為3個(gè)粗粒度類(lèi)別,創(chuàng)建型、行為型、結(jié)構(gòu)型。 實(shí)際問(wèn)題數(shù)據(jù)集: 為了測(cè)試所提出的排序方法的有效性,從不同的資源中檢索出實(shí)際問(wèn)題,根據(jù)專(zhuān)家意見(jiàn),檢索出已經(jīng)解決和映射的設(shè)計(jì)問(wèn)題 (1)46個(gè)安全設(shè)計(jì)模式集合的問(wèn)題[17]。 問(wèn)題1:“When objects are created we define the rights processes have to them. These authorization rules or policies must be enforced when a process attempts to access an object.” (2)24個(gè)設(shè)計(jì)模式集合的問(wèn)題[19]。 問(wèn)題2:“One of the dominant strategies of object oriented design is the "open closed principle". Figure demonstrates how this is routinely achieved encapsulate interface details in a base class, and bury implementation details in derived classes. Clients can then couple themselves to an interface, and not have to experience the upheaval associated with change: no impact when the number of derived classes changes, and no impact when the implementation of a derived class changes.” (3)7個(gè)面向?qū)ο笤O(shè)計(jì)模式的問(wèn)題[20]。 問(wèn)題3:“Design a system for drawing graphic images: a graphic image is composed of lines, rectangles, texts, and images. An image may be composed of other images, lines, rectangles, and texts.” 4.2.1 46個(gè)安全設(shè)計(jì)模式集合的問(wèn)題 文中使用三組參數(shù)在安全設(shè)計(jì)模式與實(shí)際問(wèn)題的數(shù)據(jù)集上進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如表5所示。 表5 不同參數(shù)在前rank5中的匹配情況 文中設(shè)置三組參數(shù)和一組經(jīng)過(guò)遺傳算法調(diào)優(yōu)后得到的參數(shù)組,經(jīng)過(guò)計(jì)算得相應(yīng)的匹配率結(jié)果和各TopN-Rank的總匹配占比,如圖5所示。表中反映了在Rank為5時(shí),所有實(shí)際問(wèn)題中正確匹配的設(shè)計(jì)模式出現(xiàn)在前TopN-rank的個(gè)數(shù)和所有出現(xiàn)在Rank5的實(shí)際問(wèn)題中在實(shí)際問(wèn)題集中的占比率(即匹配率)。在經(jīng)過(guò)遺傳算法調(diào)優(yōu)的參數(shù)組合后,出現(xiàn)于前n的匹配數(shù)目明顯上升。Top1-Rank下,相對(duì)參數(shù)組1和參數(shù)組3,優(yōu)化組的匹配個(gè)數(shù)上升至19,匹配率由原來(lái)的67.39%上升至76.09%,漲幅8.7%。相同匹配率的參數(shù)組2與優(yōu)化組相比,優(yōu)化組的Rank匹配率整體上漲了5.72%。 圖5 Top-n Rank匹配在總匹配中占比 整體上,優(yōu)化組相比其他參數(shù)組的匹配率上升了5.72%至9.13%不等,匹配率占比也高于其他參數(shù)組,經(jīng)過(guò)遺傳算法的調(diào)優(yōu)參數(shù),使得準(zhǔn)確的結(jié)果明顯前移,讓更多的正確結(jié)果出現(xiàn)在了靠前的位置。 4.2.2 ChannaBou 2018的對(duì)比 在設(shè)計(jì)模式數(shù)量14,實(shí)際問(wèn)題數(shù)量24的情況下,對(duì)比如表6所示。 表6 參數(shù)設(shè)置(syn,hyper,hypo)為(true,true,false)其他方法[16]與文中方法的對(duì)比 通過(guò)選取相同的設(shè)計(jì)模式集合[7]和實(shí)際問(wèn)題集[19-20],在經(jīng)過(guò)參數(shù)調(diào)優(yōu)后獲得的數(shù)據(jù)如表6所示,Other和Article分別為其他方法和文中方法的表現(xiàn),Differ表示兩種方法表現(xiàn)的差值。在參數(shù)syn,hyper,hypo設(shè)置為true,true,false時(shí),Ps分別在0.2,0.4,0.6,0.8的情況下,使用文中的參數(shù)調(diào)優(yōu)方法后,使得各TopN-Rank的數(shù)量明顯增加,Top1-Rank下,各Ps的值下漲幅8.33%,Top5-Rank下漲幅8.33%,整體漲幅4.16%至8.33%不等,效果可觀。 受人工設(shè)置參數(shù)的局限,通過(guò)遺傳算法尋找相對(duì)較優(yōu)解替代人工設(shè)置參數(shù)。實(shí)驗(yàn)一的結(jié)果表明,經(jīng)過(guò)調(diào)優(yōu)后文中方法得到的結(jié)果相對(duì)人工定義的參數(shù)組合表現(xiàn)較好,使匹配率得到了相應(yīng)的提升,同時(shí)也使得更多正確的結(jié)果出現(xiàn)在了靠前的位置。實(shí)驗(yàn)二的結(jié)果顯示,通過(guò)與本方法相近的方法的對(duì)比,在經(jīng)過(guò)遺傳算法調(diào)優(yōu)后,匹配率都得到了相應(yīng)的提升,相同參數(shù)的情況下,Top1-Rank的匹配率均上調(diào)8.33%,Top5-Rank的匹配率相應(yīng)的上調(diào)8.33%,比同類(lèi)的方法能獲得更多的匹配結(jié)果,本方法的實(shí)驗(yàn)表現(xiàn)總體較優(yōu)。 提出了一種基于意圖的設(shè)計(jì)模式排序方法,定義了相關(guān)的詞對(duì)match規(guī)則,并定義了相關(guān)的相似度比較辦法,隨后針對(duì)參數(shù)取值依賴(lài)人工的問(wèn)題,引入了遺傳算法對(duì)相應(yīng)的參數(shù)計(jì)算相對(duì)優(yōu)值,最后通過(guò)實(shí)際問(wèn)題的數(shù)據(jù)集對(duì)所提出的方法進(jìn)行了驗(yàn)證和分析。實(shí)驗(yàn)結(jié)果表明,該方法在經(jīng)過(guò)遺傳算法的調(diào)優(yōu)后,相對(duì)其他的方法有一定的提高,在其他相關(guān)設(shè)計(jì)模式上也表現(xiàn)較好。由于硬件和時(shí)間的限制,文中測(cè)試的程序和數(shù)據(jù)集有限,結(jié)論有一定局限性。下一步工作,一方面提高數(shù)據(jù)集的種類(lèi)和數(shù)量,另一方面對(duì)意圖不易表達(dá)的設(shè)計(jì)模式進(jìn)行深入的研究。2.5 示 例
3 參數(shù)調(diào)優(yōu)
3.1 編 碼(Encode)
3.2 解 碼(Decode)
3.3 適應(yīng)度函數(shù)(Fitness function)
4 實(shí) 驗(yàn)
4.1 實(shí)驗(yàn)數(shù)據(jù)集
4.2 對(duì)比實(shí)驗(yàn)
5 結(jié)束語(yǔ)