羅宇,羅曼,夏德奇
(中國氣象局氣象干部培訓(xùn)學(xué)院湖南分院,長沙410125)
基于遺傳算法的自動組卷模型及改進(jìn)研究
羅宇,羅曼,夏德奇
(中國氣象局氣象干部培訓(xùn)學(xué)院湖南分院,長沙410125)
針對標(biāo)準(zhǔn)遺傳算法進(jìn)化慢、易早熟等問題,建立多重約束目標(biāo)組合優(yōu)化模型,對編碼策略、種群初始化和遺傳算子進(jìn)行改進(jìn)。實(shí)驗(yàn)表明:相較于標(biāo)準(zhǔn)遺傳算法,改進(jìn)遺傳算法可明顯提升所得試卷的最大適應(yīng)度(0.79提升至0.84)和平均適應(yīng)度(0.74提升至0.83),改善早熟現(xiàn)象,提升算法執(zhí)行速度。
在氣象教育培訓(xùn)領(lǐng)域,考試是培訓(xùn)過程中的重要環(huán)節(jié)。隨著計(jì)算機(jī)輔助教學(xué)技術(shù)迅速發(fā)展,智能組卷已成為一項(xiàng)被廣泛研究和實(shí)際應(yīng)用的課題。如何綜合考慮章節(jié)比例、題型比例、知識點(diǎn)覆蓋、試卷難度及區(qū)分度等多重約束條件,生成一套能夠評價(jià)學(xué)員知識和能力的試卷是組卷算法的核心問題。目前傳統(tǒng)的組卷算法多為隨機(jī)組卷算法[1-3]或回溯試探組卷算法[4-5]。由于此類算法中的組卷模型存在成功率低、算法結(jié)構(gòu)復(fù)雜和組卷時間長等問題,不能很好滿足目前試題資源日益增長現(xiàn)狀?;诜律倪z傳算法(Generic Algo?rithm,GA)作為一種隨機(jī)搜索算法,可在潛在的解決方案中逐步求得近似的全局最優(yōu)解,其在組合優(yōu)化問題求解領(lǐng)域得有較多應(yīng)用[6-7]。在此基礎(chǔ)上許多學(xué)者嘗試?yán)眠z傳算法解決自動組卷問題,取得較好效果。相關(guān)研究表明,引入遺傳算法可顯著改善組卷效率和質(zhì)量[8-11]。但由于其算法本身缺陷,可能導(dǎo)致組卷算法出現(xiàn)早熟、后期搜索效率低甚至組卷失敗等問題[12]。
本文采用多重約束目標(biāo)組合優(yōu)化模型,對題型分布、難度系數(shù)、區(qū)分度、章節(jié)分值等約束條件進(jìn)行量化,實(shí)現(xiàn)自動組卷問題數(shù)學(xué)建模。同時采用基于試卷的分組編碼策略、均勻化初始種群和自適應(yīng)遺傳算子[13-14],改進(jìn)標(biāo)準(zhǔn)遺傳算法在自動組卷應(yīng)用上的不足,實(shí)現(xiàn)算法優(yōu)化。
自動組卷時,需從題庫中抽取一組試題P,使其屬性變量A(題型、難度、區(qū)分度、分值、所屬章節(jié)及知識點(diǎn)等)在對應(yīng)取值范圍V內(nèi)滿足約束條件R,即將自動組卷抽象為多重約束目標(biāo)組合優(yōu)化問題。本文中選取知識點(diǎn)、難度、區(qū)分度和所屬章節(jié)4個屬性加以量化,并結(jié)合對應(yīng)約束條件構(gòu)造適應(yīng)度函數(shù)。
知識點(diǎn)屬性涉及試題的具體考核內(nèi)容。令Ktotal為題庫知識點(diǎn)總數(shù),K為試卷中不重復(fù)知識點(diǎn)數(shù)量和,n為試卷中題目總數(shù),定義知識點(diǎn)適應(yīng)度函數(shù):
難度屬性反映試題難易程度,對應(yīng)取值范圍為[0,1]。對于客觀性試題,難度計(jì)算方法為:
對于主觀題,難度計(jì)算方法為:
其中,M為考生總數(shù),mj為答對第j題人數(shù),xij為第i位考生在第j題上的得分,wj為第j題的滿分分值。令β為組卷期望難度,采用正態(tài)分布建立難度適應(yīng)度函數(shù):
區(qū)分度屬性指試題對被試者情況的分辨能力的大小,反映試題區(qū)分不同水平受試者的程度,其計(jì)算方法為:
試題所屬章節(jié)一般由考綱中各章節(jié)題目分值確定。假設(shè)題庫中試題共涉及N個章節(jié),考綱中各章節(jié)所占分值為Sj,組卷生成試卷中各章節(jié)分值為sj,其適應(yīng)度函數(shù)可有正態(tài)分布建立:
由上述定義的目標(biāo)函數(shù)可知,自動組卷所得試卷的各項(xiàng)屬性和屬性的期望值偏差越小,所得目標(biāo)函數(shù)值越大。因此組卷算法的多目標(biāo)優(yōu)化即在綜合考慮知識點(diǎn)、難度、區(qū)分度和所屬章節(jié)4個約束條件下,求得總的適應(yīng)度函數(shù):
其中wi為各屬性適應(yīng)度函數(shù)的權(quán)重,滿足其具體取值,可根據(jù)不同考試需求進(jìn)行設(shè)置。由各屬性目標(biāo)函數(shù)定義可知,F(xiàn)(x)∈(0 ,1),其取值越大意味著組卷生成的試卷質(zhì)量越好。
編碼策略是應(yīng)用遺傳算法時需解決的首要問題,也是設(shè)計(jì)遺傳算法是的關(guān)鍵步驟之一。不同的編碼方式會影響交叉、變異等遺傳算子的運(yùn)算方式,進(jìn)而決定算法進(jìn)化效率。在自動組卷應(yīng)用中,標(biāo)準(zhǔn)遺傳算法一般采用面向題庫的二進(jìn)制編碼策略[9-10],即題庫中某一題選中時表示為1,未選中表示為0。該編碼策略操作簡單、易于理解、搜索效率高,但在進(jìn)化過程中,不易控制各題型的數(shù)量比例,導(dǎo)致組卷算法失敗或過早收斂。且采用二進(jìn)制編碼策略時,組卷算法的搜索空間取決于題庫大小,若題庫較大,會導(dǎo)致搜索空間過大,極大影響進(jìn)化后期搜索效率。
為解決上述不足,采用面向試卷的實(shí)數(shù)分段編碼策略,將一份試卷映射成一條染色體,每一被選中的試題對應(yīng)染色體上的一個基因,其編碼直接利用其在題庫中的編號表示。同時根據(jù)試卷對題型的要求,將染色體上基因分段,每段對應(yīng)一類題型(圖1)??紤]到同一題型試題分值一般相同,采用該編碼策略可以很好滿足試卷對總分和各題型數(shù)量的要求,簡化約束條件和算法流程。基因段之間相互獨(dú)立,確保初始化、交叉和變異等遺傳操作在不同試卷的相同基因段內(nèi)進(jìn)行(圖2,加粗邊框內(nèi)為交叉部分),保證進(jìn)化所得的各染色體中各題型數(shù)量和總分正確匹配,避免非法解對算法搜索效率的影響。
圖1 面向試卷的實(shí)數(shù)分段編碼
圖2 不同試卷間的交叉操作
初始種群的特性會明顯影響算法結(jié)果和效率。標(biāo)準(zhǔn)遺傳算法一般采用隨機(jī)方法生成初始化群體,容易造成解空間過大,進(jìn)化迭代次數(shù)過多,組卷結(jié)果較難把握。
針對上述問題,在面向試卷的實(shí)數(shù)分段編碼策略基礎(chǔ)上,采取不放回抽樣方法使初始種群所處解空間盡量分散,并優(yōu)化初始種群適應(yīng)度。即對于大小為m的初始種群,隨機(jī)產(chǎn)生n組染色體,計(jì)算各染色體總體適應(yīng)度,保留適應(yīng)度最大的作為初始染色體,并循環(huán)m次產(chǎn)生初始種群。該方法在不顯著增加種群初始化復(fù)雜度的情況下可明顯加快遺傳算法收斂速度,減少迭代次數(shù),增強(qiáng)進(jìn)化效率。
交叉和變異是遺傳算法的重要步驟,交叉概率(Pc)和遺傳概率(Pm)對算法性能有決定性影響[13-14]。標(biāo)準(zhǔn)遺傳算法一般使用固定的Pc和Pm,以便在進(jìn)化初期快速篩選掉適應(yīng)度較差的個體,進(jìn)而提升種群的平均適應(yīng)度。但在進(jìn)化后期,固定概率容易破化較優(yōu)解,降低種群差異性,使算法陷入局部最優(yōu)解,出現(xiàn)早熟現(xiàn)象。
為改善上述不足,在進(jìn)化過程中采用自適應(yīng)機(jī)制,根據(jù)各代的適應(yīng)度情況,對Pc和Pm進(jìn)行動態(tài)調(diào)整。對于適應(yīng)度較高的個體,對應(yīng)較低的Pc和Pm,使其更易進(jìn)入下一代繼續(xù)進(jìn)化;對于適應(yīng)度較低的個體,對應(yīng)較高的Pc和Pm,使其更容易在交叉變異中重組基因,進(jìn)而克服早熟,并提高搜索效率。自適應(yīng)算子采用線性函數(shù):
式中 f為個體適應(yīng)度,fm和 fa分別為群體最大適應(yīng)度和平均適應(yīng)度,k1和k2為系數(shù),可根據(jù)不同問題靈活取值。同時,為進(jìn)一步加快算法收斂速度,在進(jìn)化過程中用適應(yīng)度最好的個體替換適應(yīng)度最差個體,便于更優(yōu)個體基因遺傳到下一代。
參照《地面氣象觀測人員上崗資格考試大綱(2013)》,構(gòu)造模擬題庫對標(biāo)準(zhǔn)遺傳算法(standard ge?netic algorithm,SGA)和改進(jìn)遺傳算法(improved genetic algorithm,IGA)進(jìn)行實(shí)驗(yàn)。題庫包括6章內(nèi)容,涉及120個知識點(diǎn),其中填空題1792道,單項(xiàng)選擇題2145道,多項(xiàng)選擇題670道,名詞解釋題112道,簡答題156道。組卷要求:總分 100,各章分值為{8,14,50,10,10,8},各題型分值為{23,35,20,6,16};試卷難度 0.6,區(qū)分度0.6,知識點(diǎn)、難度、區(qū)分度和所屬章節(jié)4個約束條件權(quán)重分別為{0.15,0.35,0.35,0.15}。標(biāo)準(zhǔn)遺傳算法交叉概率為0.5,變異概率為0.005,自適應(yīng)算子系數(shù)依次分別為0.5和0.005,初始種群規(guī)模為50,最大進(jìn)化代數(shù)為500。標(biāo)準(zhǔn)遺傳算法和改進(jìn)遺傳算法組卷最大適應(yīng)度和平均適應(yīng)度對比分別如圖3和圖4所示。由圖可知,在初始種群相同,進(jìn)化代數(shù)同為500的情況下,改進(jìn)遺傳算法最終所得最大適應(yīng)度和平均適應(yīng)度分別為0.85和0.83,均高于標(biāo)準(zhǔn)遺傳算法(0.79和0.74),說明改進(jìn)遺傳算法不僅近似最優(yōu)解優(yōu)于標(biāo)準(zhǔn)遺傳算法,且所得種群總體質(zhì)量明顯更優(yōu)。同時,標(biāo)準(zhǔn)遺傳算法進(jìn)化速度相較改進(jìn)遺傳算法慢(表1),且在適應(yīng)度達(dá)到某一局部最優(yōu)解之后基本停止進(jìn)化,陷入早熟。
圖3 SGA和IGA組卷最大適應(yīng)度對比
圖4 SGA和IGA組卷平均適應(yīng)度對比
表1 SGA和IGA不同進(jìn)化代數(shù)時最大適應(yīng)度對比
針對標(biāo)準(zhǔn)遺傳算法易早熟、收斂速度慢等不足,本文對組卷問題基于多重約束目標(biāo)組合優(yōu)化建模后,提出一種綜合利用基于試卷的分組編碼策略、均勻化初始種群和自適應(yīng)遺傳算子的改進(jìn)遺傳算法。實(shí)驗(yàn)表明,相較于標(biāo)準(zhǔn)遺傳算法,改進(jìn)遺傳算法可明顯改善組卷質(zhì)量,克服早熟問題,提升搜索效率。目前該算法已應(yīng)用于湖南省氣象教育培訓(xùn)考試系統(tǒng),體現(xiàn)出很好的穩(wěn)定性和實(shí)用性。
[1]應(yīng)繼儒,胡立新,龍毅.試題庫隨機(jī)抽選數(shù)學(xué)模型的構(gòu)建與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2000,20(1):46-47.
[2]王萌,金漢均,王曉榮.集合隨機(jī)抽選法在智能組卷中的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(19):3583-3585.
[3]謝深泉,胡寧靜.數(shù)據(jù)庫設(shè)計(jì)和自動組卷中的幾個問題[J].湘潭大學(xué)自然科學(xué)學(xué)報(bào),2002,24(3):27-31.
[4]李靜梅,李靜,焦平.一種可調(diào)整式的多元變量漸近尋優(yōu)組卷策略[J].應(yīng)用科技,2009,36(10):53-57.
[5]龔?fù)耆?基于最小回溯代價(jià)的只能組卷算法[D].湖南:湖南大學(xué)軟件學(xué)院,2005.
[6]Xing Huanlai,Qu Rong.A Compact Genetic Algorithm for the Network Coding Based Resource Minimization Problem[J].Applied Intelligence,2012,36(4):809-823.
[7]Xing Huanlai,Qu Rong.A Nondominated Sorting Genetic Algorithm for Bi-Objective Network Coding Based Multicast Routing Problems[J].Information Sciences,2013,233(6):36-53.
[8]毛秉毅.基于遺傳算法的智能組卷系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003,28(6):230-232.
[9]李軍.基于遺傳算法的智能組卷系統(tǒng)研究[D].天津:天津大學(xué),2008.
[10]梁興建.程序設(shè)計(jì)類大學(xué)課程的智能組卷策略研究[D].成都:電子科技大學(xué),2009.
[11]韋大歡.改進(jìn)型遺傳算法智能組卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2011,32(10):35-37,43.
[12]付旭輝,康玲.遺傳算法的早熟問題探究[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,31(7):53-54.
[13]吳浩揚(yáng),朱長純,常炳鍋,等.基于種群過早收斂程度定量分析的改進(jìn)自適應(yīng)遺傳算法[J].西安交通大學(xué)學(xué)報(bào),1999,33(11):27-30.
[14]曲志堅(jiān),張先偉,曹雁鋒,等.基于自適應(yīng)機(jī)制的遺傳算法研究[J].計(jì)算機(jī)應(yīng)用研究,2015,32(11):3222-3225,3229.
羅宇(1984-),男,四川巴中人,工程師,碩士,研究方向?yàn)榇髿膺b感與探測
羅曼(1986-),女,湖南長沙人,助理工程師,碩士,研究方向?yàn)闅庀蠼逃嘤?xùn)技術(shù)
夏德奇(1965-),男,湖南邵陽人,副高級工程師,本科,研究方向?yàn)閼?yīng)用氣象
2017-06-20
2017-10-10
Automatic Test Paper Generation;Genetic Algorithm;Multi-Objective Optimization;Adaptive
Research on the Application and Improvement of Automatic Test Paper Generation Based on Genetic Algorithm
LUO Yu,LUO Man,XIA De-qi
(China Meteorological Training Center Hunan Branch,Changsha 410125)
In order to solve the problems of slow evolution and premature convergence in standard genetic algorithm,presents an improved genetic al?gorithm based on multi-objective optimization model through modified gene coding,population initialization and genetic operators.The ex?perimental results indicate that the improved genetic algorithm can achieve better synthesized execution speed,as well as promotes better max fitness(0.79 to 0.84)and average fitness(0.74 to 0.83)of test papers than standard genetic algorithm.
自動組卷;遺傳算法;多目標(biāo)優(yōu)化;自適應(yīng)
湖南省氣象局重點(diǎn)科研課題(No.XQKJ15A006)、中國氣象局氣象干部培訓(xùn)學(xué)院科研項(xiàng)目(內(nèi)2014-012)
1007-1423(2017)29-0020-04
10.3969/j.issn.1007-1423.2017.29.005