計算機有關(guān)自動機的論文
計算機有關(guān)自動機的論文
自動機原來是模仿人和動物的行動而做成的機器人的意思。但是現(xiàn)在已被抽象化為如下的機器。時間是離散的(t=0,1,2……),在每一個時刻它處于所存在的有限個內(nèi)部狀態(tài)中的一個。對每一個時刻給予有限個輸入中的一個。那么下一個時刻的內(nèi)部狀態(tài)就由現(xiàn)在的輸入和現(xiàn)在的內(nèi)部狀態(tài)所決定。下面是學(xué)習(xí)啦小編給大家推薦的計算機有關(guān)自動機的論文,希望大家喜歡!
計算機有關(guān)自動機的論文篇一
《基于遺傳算法的自動組卷系統(tǒng)設(shè)計》
摘要:自動組卷系統(tǒng)是計算機輔助教學(xué)的重要組成部分,而遺傳算法以其全局尋優(yōu)和智能搜索的特性,得到了廣泛的運用。根據(jù)自動組卷系統(tǒng)的特點,將遺傳算法合理應(yīng)用于自動組卷中,在遺傳算法中,設(shè)計了雙種群機制,并以試卷難度、試卷區(qū)分度、試卷的估計用時、知識點分布為基礎(chǔ)構(gòu)造適應(yīng)度函數(shù),通過輪盤賭選擇方法、多點交叉和變異,較好地解決了自動組卷的多重目標(biāo)尋優(yōu)問題。
關(guān)鍵詞:自動組卷;遺傳算法;適應(yīng)度函數(shù)
0引言
考試是教學(xué)過程中的一個重要環(huán)節(jié),我們用它來檢測教學(xué)效果,以期提高教學(xué)質(zhì)量。傳統(tǒng)的手工方式,都是以教師的經(jīng)驗與知識的積累為依據(jù)出題,帶有一定的主觀性,考試命題質(zhì)量和科學(xué)性不能保證。另外,對于有些課程,我們希望平時能夠在計算機機房通過上機完成測驗。所以,伴隨人工智能的廣泛應(yīng)用,自動組卷技術(shù)成為我們必須深入探討的一個課題?,F(xiàn)有不少自動組卷系統(tǒng),但其算法存在時間復(fù)雜度和空間復(fù)雜度偏大、程序結(jié)構(gòu)復(fù)雜、試題缺乏隨機性等缺陷\[1\]。將遺傳算法應(yīng)用于自動組卷系統(tǒng)中,并將試卷難度、試卷區(qū)分度、試卷的估計用時、知識點分布作為綜合優(yōu)化目標(biāo),對上述缺陷作出了改進(jìn)。
1基于遺傳算法的自動組卷算法設(shè)計
遺傳算法的操作步驟為編碼、隨機產(chǎn)生初始種群、構(gòu)建適應(yīng)度函數(shù)、對初始種群迭代執(zhí)行選擇、交叉、變異等遺傳操作產(chǎn)生下一代種群,獲取最優(yōu)解、解碼\[2\]。本自動組卷算法設(shè)計如下。
1.1編碼設(shè)計
整數(shù)編碼直接采用解空間的形式進(jìn)行編碼,意義明確,易于引入特定領(lǐng)域的信息,而且能大大縮短串長,遺傳操作無須頻繁地編碼、解碼,改善了遺傳算法的計算復(fù)雜性,提高了算法效率\[3\]。本算法采用整數(shù)編碼將現(xiàn)實問題映射到染色體即個體形式。
實現(xiàn)時,按試卷的題型對個體進(jìn)行分段編碼。比如試卷由L種題型的試題組成,則染色體編碼劃分成L個子段,每個子段對應(yīng)一種題型。每個子段中基因個數(shù)為該題型要求的題目個數(shù)。
試題庫中每道題目,都有一個編號與其對應(yīng)。比如現(xiàn)在生成了兩張試卷個體ExaPaper1、ExaPaper2。分別由選擇、填空、判斷、問答、綜合5道題組成。
1.2產(chǎn)生兩個初始種群
在初始種群產(chǎn)生時,應(yīng)采用某種算法,使優(yōu)秀、中等的、劣質(zhì)的個體基本同概率存在。以保證初始種群產(chǎn)生的多樣性和分布均勻性。并且采用產(chǎn)生2個初始種群的方法,同時對解空間內(nèi)多個區(qū)域進(jìn)行搜索,并互相交流信息。這種設(shè)置方法,雖然每次需執(zhí)行與種群規(guī)模n成2倍的計算量,但實質(zhì)上可進(jìn)行大約O (n\+3)個解的有效搜索。因此,這種2種群的設(shè)置方法,成本雖提高一倍,效率則以指數(shù)形式上升。
實現(xiàn)時,本算法采用隨機的方法產(chǎn)生320個個體,將他們分為40個子空間,則每個子空間中有8個個體。然后從每個子空間中隨機獲取5個個體,這樣就形成了200個個體,對這200個個體再隨機劃分到兩個初始種群中。
1.3構(gòu)造適應(yīng)度函數(shù)
一份卷子設(shè)計是否合理,通常從3個方面考察:第一,題型比例配置是否適當(dāng);第二,題目難、中、易比例是否合理;第三,干擾項是否有效,能不能反映考生的典型錯誤。本算法將試卷難度、試卷區(qū)分度、試卷的估計用時、知識點分布4個目標(biāo)作為綜合優(yōu)化目標(biāo),因此也將其作為構(gòu)造適應(yīng)度函數(shù)的主要依據(jù)。適應(yīng)度函數(shù)的構(gòu)造過程為,首先以各目標(biāo)為基礎(chǔ)分別構(gòu)造各自的目標(biāo)函數(shù),然后使用加權(quán)的方法對各目標(biāo)函數(shù)進(jìn)行組合獲得適應(yīng)度函數(shù)。
1.3.1各目標(biāo)函數(shù)構(gòu)造
(1)試卷難度目標(biāo)函數(shù)。
針對不同的考生,試卷難度要求也不同,因此將試卷難度作為構(gòu)造適應(yīng)度函數(shù)的一個依據(jù)。
Fc(X)=1-1[]total_score∑N[]i=1fc(i)*p(i)-Exp_Difficulty(1)
其中,X為種群中個體,N為X的長度,i表示X中第i個位置。對應(yīng)到自動組卷中,N為題目的個數(shù),total_score為試卷的總分,i表示X這份試卷中第幾道題目。f\-c(i)為i這道題目對應(yīng)的難易度,p(i)為這道題目對應(yīng)的分值。Exp_Difficulty為對試卷的難度期望值。由此可知,F(xiàn)\-c(X)值越大,說明試卷難度符合要求的可能性越大。
(2)試卷區(qū)分度目標(biāo)函數(shù)、試卷估計用時目標(biāo)函數(shù)。
區(qū)分度是指試題對被試者情況的分辨能力的大小。區(qū)分度適當(dāng)?shù)脑嚲砟馨褍?yōu)秀、一般、差三個層次的學(xué)生真正區(qū)分開。試卷區(qū)分度目標(biāo)函數(shù)、試卷估計用時目標(biāo)函數(shù)構(gòu)造方法與試卷難度目標(biāo)函數(shù)構(gòu)造方法類似。試卷區(qū)分度目標(biāo)函數(shù)構(gòu)造如式(2)所示。
Fd(X)=1-1[]total_score∑N[]i=1fd(i)*p(i)-Exp_Difficulty(2)
其中,X為種群中個體,N為X的長度,i表示X中第i個位置。對應(yīng)到自動組卷中,N為題目的個數(shù),f\-d(i)為i這道題目對應(yīng)的區(qū)分度,p(i)為這道題目對應(yīng)的分值。total_score為試卷總分值。Exp_Different為對試卷的區(qū)分度的望值。由此可知,F(xiàn)\-d(X)值越大,說明試卷難度符合要求的可能性越大。
試卷估計用時目標(biāo)函數(shù)構(gòu)造如式(3)、式(4)所示。
Ft(X)=T(X)T(X)<11[]T(X)T(X)>1(3)
T(X)=∑N[]i=1ft(i)[]Exp_Time(4)
其中,X為種群中個體,N為X的長度i表示X中第i個位置。對應(yīng)到自動組卷中,N為題目的個數(shù),f\-t(i)為完成i這道題目的期望時間。Exp_Time為完成本試卷估計用時的期望值。由此可知,F(xiàn)\-t(X)值越大,說明試卷難度符合要求的可能性越大。
(3)知識點分布目標(biāo)函數(shù)。
教學(xué)大綱中,對不同章節(jié)知識點的掌握程度要求也不同。因此,設(shè)計知識點分布目標(biāo)函數(shù),用來把握考察的知識點是否全面合理。
知識點分布目標(biāo)函數(shù)構(gòu)造如式(5)、式(6)所示。
Fn(X)=(∑M[]j=1fw(j)*∑N[]i=1Fs(i))/total_score(5)
Fs(i)=fs(i)第i題目屬于第j章內(nèi)容0第i題目不屬于第j章內(nèi)容(6)
其中,X為種群中個體,N為X的長度,i表示X中第i個位置。對應(yīng)到自動組卷中,M為本試卷要考察到的章節(jié)總數(shù)。fw(j)為課本第j章在試卷中占用的權(quán)重。N為題目的個數(shù),fs(j)為第i題目的分值。若第i題目是第j章節(jié)的內(nèi)容,F(xiàn)\-s(i)才存儲f\-s(i)的值,以便參與實際試卷中第j章節(jié)權(quán)重的計算。total_score為試卷總分值。由此可知,F(xiàn)\-n(X)值越大,說明試卷難度符合要求的可能性越大。
1.3.2適應(yīng)度函數(shù)構(gòu)造
使用加權(quán)的方法對各目標(biāo)函數(shù)進(jìn)行組合,形成適應(yīng)度函數(shù)。適應(yīng)度函數(shù)如式(7)所示:
F(X)=1Fc(X)+2Fd(X)+3Ft(X)+4Fn(X)(7)
其中,F(xiàn)\-c(X)、F\-d(X)、F\-t(X)、F\-n(X)分別為試卷難度、試卷區(qū)分度、試卷的估計用時、知識點分布的目標(biāo)函數(shù)。1、2、3、4分別為試卷難度、試卷區(qū)分度、試卷的估計用時、知識點分布目標(biāo)函數(shù)的權(quán)值。并且1+2+3+4=1。權(quán)值1、2、3、4的取值應(yīng)依據(jù)具體試卷考核目標(biāo)而定。
1.4遺傳操作
1.4.1選擇操作設(shè)計
在本算法中,應(yīng)用輪盤賭選擇方法進(jìn)行選擇操作,決定將哪些個體復(fù)制到新種群中\(zhòng)[4\]。并進(jìn)一步根據(jù)適應(yīng)度值對t+1代和t代種群最優(yōu)個體進(jìn)行比較及選取,確保在t+1種群中,最優(yōu)個體的適應(yīng)度并不低于t種群的最優(yōu)個體適應(yīng)度。
1.4.2交叉操作設(shè)計
本文使用多點交叉操作。針對兩個個體即兩份試卷中的選擇、填空、判斷、問答、綜合5類題型,分別進(jìn)行20%的基因點交叉。比如假設(shè)生成了表3、表4所示兩份試題。黑邊框處為交叉點。交叉操作后,試卷1、卷2轉(zhuǎn)換為表5、表6所示內(nèi)容。
1.4.3變異操作設(shè)計
變異操作為對群體中某些個體的基因進(jìn)行小概率擾動。本變異的操作如下:以題型為基礎(chǔ),將個體分段,每段隨機選擇一個變異位置,并從同題型題庫中隨機選擇一個題目替換該變異位置題目,條件是新選的題目不能與當(dāng)前試卷中同題型其它題目重復(fù)。
1.4.4種群競爭設(shè)計
本算法采用產(chǎn)生2個初始種群的方法,同時對解空間內(nèi)多個區(qū)域進(jìn)行搜索,并互相交流信息。種群競爭的具體設(shè)計思想為:對兩個初始種群K11、K21分別進(jìn)行遺傳操作產(chǎn)生新的種群,各經(jīng)過T代(不同問題T的設(shè)定不同)后,獲取到新種群K1T、K2T。將K1T、K2T兩個種群中個體合并,按適應(yīng)度排序。前一半個體形成新的K1T種群,后一半個體形成新的K2T種群。將新K1T、K2T再反復(fù)執(zhí)行上述過程,直到滿足終止條件時進(jìn)化結(jié)束。本算法的終止條件是當(dāng)達(dá)到規(guī)定的最大迭代次數(shù)HMAX或者最好個體的適應(yīng)度函數(shù)值HMAX/5次達(dá)到了要求。
1.5選擇最優(yōu)解及解碼
通過遺傳算法最終可獲得一組個體,對這組個體分別計算適應(yīng)度值,獲取適應(yīng)度最優(yōu)的個體,作為最終解。因為是整數(shù)編碼,個體中基因值即為題庫中被選中題的題號。因此,從最優(yōu)個體可直接得到最終生成的試卷。
2結(jié)語
本文圍繞自動組卷存在的問題,重點研究了遺傳算法的改進(jìn)及其在自動組卷算法中的應(yīng)用。通過運行基于該遺傳算法的組卷程序,證明了該設(shè)計的可行性、有效性。
參考文獻(xiàn):
[1]黎軍.基于遺傳算法的自動組卷設(shè)計[J].電腦學(xué)習(xí),2009(3).
[2]陳國良,王煦法,莊鎮(zhèn).遺傳算法及其應(yīng)用[M].北京:人民郵電出版社,1996.
[3]張超群,鄭建國,錢潔.遺傳算法編碼方式比較[J].計算機應(yīng)用,2011(3).
[4]丁承層,強傳生,張輝.遺傳算法縱橫談[J].信息與控制,1997(1).
計算機有關(guān)自動機的論文篇二
《基于改進(jìn)遺傳算法的自動組卷研究》
摘要:通過詳細(xì)分析試卷的各項約束條件,建立了一個以知識點、難度系數(shù)、區(qū)分度等為核心屬性的自動組卷數(shù)學(xué)模型,并利用改進(jìn)的遺傳算法實現(xiàn)了自動組卷。
關(guān)鍵字:自動組卷;數(shù)學(xué)模型;遺傳算法
自動組卷就是根據(jù)用戶的要求,采用一定的算法自動地從試題庫中抽取一定數(shù)量的試題組成試卷。自動組卷算法的好壞直接影響到試卷的質(zhì)量,如何從試題庫中選出試題組成符合用戶要求的試卷,并使組卷具有較高的效率和成功率是當(dāng)前研究的熱門課題?,F(xiàn)有的自動組卷算法一般有三種:隨機選取法、回溯試探法和遺傳算法。遺傳算法是一種新發(fā)展起來的并行優(yōu)化算法,它很適合解決自動組卷問題。
1 試題核心屬性的確定
在自動組卷系統(tǒng)中,一些試題庫設(shè)置了試題的各類屬性,如章節(jié)、層次、要求、題型、難度系數(shù)、難度級別、各章節(jié)分值等屬性,其實過多的屬性會增加實際組卷的難度,降低效率。以教育學(xué)理論為指導(dǎo),選擇以下屬性作為試題的核心屬性。
(1) 題號。試題的編號,用來唯一標(biāo)識試題。
(2) 題型。試題的類型。
(3) 知識點。某道題屬于某門課程的哪個知識點,知識點的設(shè)置不以章節(jié)為依據(jù),從而可以避免教材的不同對組卷造成影響。
(4) 難度系數(shù)。難度系數(shù)[1]是表示某一試題的難易程度,通常用未通過率來表示,即一次考試中未答對某道試題的考生數(shù)在其總體中所占的比例。一般來說,難度系數(shù)值為0.5時,是中等難度,如果小于0.3試題太簡單,如果大于0.7試題太難,對考生都會做或都不會做(難度系數(shù)為0或為1)的試題,屬于無意義的試題,必須淘汰。
(5) 區(qū)分度。區(qū)分度[2]是指某道題對不同水平考生加以區(qū)分的能力。區(qū)分度高的試題,對學(xué)生水平有較好的鑒別力。區(qū)分度的計算公式為:
其中,B表示試題的區(qū)分度,H表示樣本中高分組在某題上所得的平均分,L表示樣本中低分組在某題上所得的平均分,K表示某題滿分。高分組和低分組一般各占樣本的25%~30%,最好取27%。一般來說,試題的區(qū)分度在0.4以上就被認(rèn)為是很好的。在0.3~0.39之間,認(rèn)為良好;在0.2~0.29之間,認(rèn)為可以;在0.19以下,認(rèn)為差,必須淘汰或加以修改。對在校學(xué)生的達(dá)標(biāo)考試,試卷的區(qū)分度不宜太高,因為它不是選拔性質(zhì)的考試。但也不能過低,否則對學(xué)生的鑒別效果差,不能很好的達(dá)到考試的目的。一般區(qū)分度控制在0.2~0.3之間為宜。
(6) 分值。某小題的分?jǐn)?shù)。
(7) 答題時間。完成某題估計所需的時間。
2 自動組卷數(shù)學(xué)模型的建立
自動組卷中決定一道試題,其實就是決定一個包含題號、題型、知識點、難度系數(shù)、區(qū)分度、分值、答題時間的七維向量(a 1,a 2,a 3, a4,a 5,a 6,a 7)。假設(shè)一套試卷中包含n道試題,一套試卷就決定了一個n×7的矩陣S:
這就是問題求解中的目標(biāo)矩陣,其中a i1 、a i2 、 a i3 、a i4、a i5、 a i6 、a i7分別表示試卷中第i道題的題號、題型、知識點、難度系數(shù)、區(qū)分度、分值、答題時間。從矩陣S可以看出組卷問題是一個多重約束目標(biāo)的問題求解,且目標(biāo)狀態(tài)不是唯一的。
在實際組卷時,用戶會對試卷提出多方面的要求,用戶的每一個要求對應(yīng)試卷的一個約束條件。要組成一份符合要求的、高質(zhì)量的試卷,目標(biāo)矩陣的分布要滿足以下試卷約束條件。
(1) 試卷中包含的題型以及每種題型的題量要與用戶的設(shè)置相符。
k種題型的題量=
(2) 試卷中包含知識點即考核知識點以及各考核知識點所占分?jǐn)?shù)的比例要與用戶設(shè)置相符。
K種考核知識點所占分?jǐn)?shù)=
(3) 試卷的難度系數(shù)要滿足用戶的要求,試卷的難度系數(shù)一般用試卷中每道試題的難度系數(shù)的加權(quán)平均來計算。
即:試卷的難度系數(shù)=
(4) 試卷的區(qū)分度要滿足用戶的要求,試卷的區(qū)分度一般用試卷中每道試題的區(qū)分度的加權(quán)平均來計算。
即:試卷的區(qū)分度=
(5) 試卷的總分要與設(shè)置相符。
即:試卷的總分=
(6) 試卷的總答題時間要與用戶設(shè)置相符。
即:試卷的總答題時間=
在實際組卷時,試卷的總分、考核知識點、各題型每小題分值、試卷中包含的題型、各題型的題量都應(yīng)該是精確達(dá)到的。試卷中各考核知識點所占的分?jǐn)?shù)、試卷的難度系數(shù)、區(qū)分度和試卷的總答題時間這四個約束條件可以存在一定的誤差。誤差的大小由用戶的期望值和各約束條件的重要性決定。在實際應(yīng)用中,各約束條件的重要性是不同的,因此,目標(biāo)函數(shù)就取各項誤差的加權(quán)和。目標(biāo)函數(shù)f可以表示為:
為了不至于各項誤差相互抵消,實際值與用戶要求值的誤差都取絕對值。其中,試卷中各考核知識點所占的分?jǐn)?shù)和試卷的總答題時間這兩項的誤差為實際值與用戶要求值的誤差絕對值與用戶要求值的比,試卷的難度系數(shù)和區(qū)分度這兩項的誤差為實際值與用戶要求值的誤差的絕對值。w i表示第i個約束條件的權(quán)值,w i通常由專家經(jīng)驗或試驗給出,0≤w i ≤1。由上式可知,目標(biāo)函數(shù)f的值越小,即誤差越小,問題的解越優(yōu),即生成的試卷越接近用戶的需求。
3 遺傳算法
遺傳算法[3,4,5]是以適應(yīng)度函數(shù)(或目標(biāo)函數(shù))為依據(jù),通過對群體中的個體進(jìn)行遺傳操作實現(xiàn)群體內(nèi)個體結(jié)構(gòu)重組的迭代處理過程。在這一過程中,群體中的個體一代一代地得以優(yōu)化,并逐漸地逼近最優(yōu)解,最終獲得最優(yōu)解。傳統(tǒng)遺傳算法的主要步驟包括初始染色體群體生成、適應(yīng)度評估和檢測、選擇操作、交叉操作和變異操作。傳統(tǒng)遺傳算法流程圖如圖1所示(其中t為進(jìn)化代數(shù),t0為最大進(jìn)化代數(shù))。
4 基于改進(jìn)遺傳算法的自動組卷
傳統(tǒng)的遺傳算法采用二進(jìn)制編碼,用1表示某題被選中,0表示某題沒有被選中,這種編碼非常簡單,但在進(jìn)行交叉和變異操作時,各題型的題量很難控制,而且當(dāng)試題庫題量很大時編碼很長。傳統(tǒng)的遺傳算法以進(jìn)化代數(shù)等于最大進(jìn)化代數(shù)作為終止條件,但是在實際組卷過程中并不知道種群進(jìn)化到第幾代就能得到試卷的最優(yōu)組合。因此用遺傳算法實現(xiàn)自動組卷時,要對傳統(tǒng)遺傳算法進(jìn)行一些改進(jìn)。
4.1 改進(jìn)的遺傳算法
4.1.1 染色體編碼
通過對編碼的大量分析,提出了一種分段實數(shù)編碼機制,首先將染色體分成若干段,每一段對應(yīng)一種題型,組成試卷的各道試題題號直接映射為基因,編碼時將同一題型的試題放在同一段,同一段內(nèi)題號各不相同。以題號編碼的方法所表達(dá)的意義清楚、明確、不需解碼,從而可以提高算法性能,提高運算效率。而且交叉和變異操作都在各段內(nèi)部進(jìn)行,因此可以保證組卷過程中各題型題量的正確匹配。
4.1.2 適應(yīng)度函數(shù)設(shè)計遺傳算法在進(jìn)化搜索中僅以適應(yīng)度函數(shù)為依據(jù),利用種群中每個個體的適應(yīng)度值來進(jìn)行搜索。因此,適應(yīng)度函數(shù)的選擇至關(guān)重要,一般而言,適應(yīng)度函數(shù)是由目標(biāo)函數(shù)變換而成的。上面提出的自動組卷模型是最小化問題,采用如下方法可將目標(biāo)函數(shù)f轉(zhuǎn)換成適應(yīng)度函數(shù)F。
由上式可知,F(xiàn)的取值范圍為0~1,適應(yīng)度函數(shù)F的值越大,說明個體越好,個體越接近問題的最優(yōu)解。
4.1.3 初始化染色體群體
隨機生成初始染色體群體,在初始染色體群體中,染色體的長度為n,群體的大小為m,m太小時,難以求出最優(yōu)解,太大時則增長收斂時間。群體的大小一般根據(jù)需要,按經(jīng)驗或試驗給出,一般m=30~160。
4.1.4 遺傳算子
(1) 選擇算子
在遺傳操作中,為了保留較優(yōu)的個體,以概率1完全地復(fù)制每一代群體中按適應(yīng)度值從大到小依次排列的前面2個個體。為了保持群體大小不變,同時刪除適應(yīng)度排列的后面的2個個體。然后從排列在前面的m-2個個體中隨機抽取p(p≤m-2)個個體進(jìn)行交叉和變異操作。這種選擇策略使得適應(yīng)度小的個體也有可能被選中,這樣有助于增加下一代群體的多樣性。
(2) 交叉算子
在遺傳操作中,采用了分段的思想,交叉的時候按題型段進(jìn)行交叉,因此交叉后不存在段內(nèi)試題重復(fù)的問題,也不會改變每種題型的題量。交叉概率p c太小時難以向前搜索,太大時則容易破壞高適應(yīng)度的結(jié)構(gòu)。一般p c=0.4~0.6。 (3)變異算子在遺傳操作中,變異在染色體的題型段內(nèi)進(jìn)行。變異概率p m太小時難以產(chǎn)生新的基因結(jié)構(gòu),太大時使遺傳算法成了單純的隨機搜索。一般p m=0.01~0.2。
4.1.5 終止條件
在改進(jìn)的遺傳算法中,設(shè)置了期望適應(yīng)度值,把每一代計算出來的最高適應(yīng)度個體的適應(yīng)度值與期望適應(yīng)度值相比較,當(dāng)適應(yīng)度最高的個體的適應(yīng)度值大于或等于期望適應(yīng)度值時則停止進(jìn)化,否則繼續(xù)進(jìn)行遺傳操作、計算適應(yīng)度值、反復(fù)迭代直到組卷成功。
4.2 主要算法描述
基于改進(jìn)遺傳算法的自動組卷的主要算法描述如算法1所示。
算法1:
int GJGA(p c,p m,m,f0)
{
t=0;
initialize(p(t));//隨機產(chǎn)生初始染色體群體
計算初始染色體群體的適應(yīng)度值;
while (maxf
{
selection(p(t));//選擇操作
crossover(p(t));//交叉操作
mutation(p(t));//變異操作
得到下一代染色體群體q(t+1),計算下一代染色體群體的適應(yīng)度值;
t++;
}
輸出當(dāng)前染色體群體中適應(yīng)度最高的染色體;
}
4.3 遺傳算法復(fù)雜度分析
在遺傳算法中,絕大部分處理都集中在適應(yīng)度的計算上,因此可以用計算個體適應(yīng)度操作的時間復(fù)雜度作為算法的時間量度。遺傳算法的時間復(fù)雜度為O(t*m*n)。因為試題庫中的題量一般都很大,所以改進(jìn)后的遺傳算法的時間復(fù)雜度一般要比傳統(tǒng)遺傳算法的時間復(fù)雜度小。遺傳算法的空間復(fù)雜度可以用初始染色體群體所占的空間來衡量,遺傳算法的空間復(fù)雜度為O(m*n)。因為改進(jìn)后的遺傳算法的染色體的長度遠(yuǎn)比傳統(tǒng)遺傳算法的染色體的長度小,所以改進(jìn)后的遺傳算法的空間復(fù)雜度遠(yuǎn)比傳統(tǒng)遺傳算法空間復(fù)雜度小。
5 結(jié)論
算法的改進(jìn)往往不能顧及問題每一個方面,如果算法設(shè)計的核心是提高解的精度,則算法可能在搜索范圍和搜索精度上花去更多的時間,如果算法的設(shè)計主要在于盡快收斂,得到結(jié)果,則在解的精度上考慮很少,算法往往側(cè)重于減少進(jìn)化代數(shù)。改進(jìn)后的遺傳算法使生成試卷的質(zhì)量得到了保證,但要使組卷的收斂速度得到進(jìn)一步改進(jìn),還需進(jìn)一步研究。
參考文獻(xiàn)
[1] 文海英. 智能型試卷自動生成系統(tǒng)中試卷難度控制技術(shù)的研究(J).湖南科技學(xué)院學(xué)報,2005,26(5):153-156
[2] 常振江. 學(xué)生成績分布與一種簡便的評估試卷命題質(zhì)量的方法(J). 遼寧師范大學(xué)學(xué)報:自然科學(xué)版,2003,26(1):109-112
[3] 丁衛(wèi)平. 基于遺傳算法的智能組卷應(yīng)用研究.電氣電子教學(xué)學(xué)報(J),2005,27(2):93-95
[4] 朱黎明. 基于單親遺傳算法的試題生成及其應(yīng)用研究(D). 長沙:湖南大學(xué),2005
[5] T.Lynda,C.Chrisment,Boughanem Mohand. Multiple Query Evaluation Based on Enhanced Genetic Algorithm. Information Processing and Management,2003,39(2):215-231