基于遺傳算法的C語言程序設(shè)計在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第1頁
基于遺傳算法的C語言程序設(shè)計在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第2頁
基于遺傳算法的C語言程序設(shè)計在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第3頁
基于遺傳算法的C語言程序設(shè)計在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第4頁
基于遺傳算法的C語言程序設(shè)計在線考試系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、信息科學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文jiu jiang university畢 業(yè) 論 文題 目 基于遺傳算法的c語言程序 設(shè)計在線考試系統(tǒng) 英文題目based on genetic algorithm c programming language online examination system 院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 姓 名 李志祥 班級學(xué)號 a081152 指導(dǎo)教師 袁媛 二一二年五月iv摘 要隨著國家科技興國戰(zhàn)略的逐步實施,教育由精英化向大眾化推進(jìn)。面對為數(shù)眾多且能力參差不齊的受教育者,傳統(tǒng)的考試已經(jīng)滿足不了“因材施教,以人為本”的要求,教育和考核手段的改變以

2、勢在必行。智能化在線考試是信息化發(fā)展下教育考試改革的一個必然趨勢,它具高效率、更新快,可節(jié)省大量的人力物力財力,等特點。“基于遺傳算法的c語言程序設(shè)計在線考試系統(tǒng)”是基于校園網(wǎng)絡(luò)的考試模式,與傳統(tǒng)的紙張考試相比,具有科學(xué)組卷、半自動評分、隨時隨地參加考試、快速高效實施的優(yōu)勢。本課題,研究了在線考試的應(yīng)用背景、開發(fā)所采用的架構(gòu),比較并確定了.net開發(fā)平臺,選擇了sql server 2008存儲數(shù)據(jù),使用了基于試卷難度和區(qū)分度為參數(shù)的遺傳算法組卷,整體提高了系統(tǒng)的科學(xué)性。它由管理員模塊、教師模塊和學(xué)生模塊組成,嚴(yán)格地控制角色的權(quán)限,合理地將管理系統(tǒng)、管理考試和參加考試分開,實現(xiàn)了在線考試的用戶

3、登陸、信息修改、通知管理、試題庫管理、自動組卷、半自動評分、倒計時、數(shù)據(jù)備份與還原等功能。經(jīng)過具體測試分析,系統(tǒng)可以正常運(yùn)行,具有界面簡潔美觀,操作簡單方便等特點。關(guān)鍵詞:遺傳算法,數(shù)據(jù)庫,考試系統(tǒng)abstractwith the gradual implementation of the national science and technology, strategy, education from elite to mass forward. educated uneven face of the large number and capacity, the traditional ex

4、amination has failed to meet the individualized, people-oriented requirements, education and assessment tools to change is imperative. intelligent online test of the educational testing reform is an inevitable trend in the development of information technology, it is highly efficient, fast update, c

5、an save a lot of manpower, material and financial resources, and so on. based on the genetic algorithm, c programming language online examination system is the mode of examination based on the campus network, compared with the traditional paper examinations, scientific test paper, semi-automatic sco

6、re anytime, anywhere to take the exam, fast and efficient implementation of advantages.this topic, research the background of the online exam application development framework, compared and identified. net development platform, select the sql server 2008 stored data, using a genetic algorithm test p

7、aper based on the papers of difficulty and discrimination parameters, the overall improvement of the scientific nature of the system. strict control of the role permissions by the administrator module, teacher module and student module, reasonably separated from the management system, administer the

8、 exam and take the exam, online test user login information to modify, notification management, test library management automatic generation of semi-automatic score, countdown, data backup and restore functions. after a specific test, the system can operate normally, the interface is simple and beau

9、tiful, easy to operate features.keywords: genetic algorithms, databases, examination system目 錄摘 要iabstractii1 緒論1.1研究背景及意義(1)1.2國內(nèi)外在線考試系統(tǒng)的研究現(xiàn)狀(1)1.3開發(fā)平臺的比較與選取(2)1.4系統(tǒng)環(huán)境分析(3)1.5系統(tǒng)開發(fā)的目標(biāo)(6)1.6本章小結(jié)(6)2 系統(tǒng)分析2.1系統(tǒng)可行性分析(7)2.2系統(tǒng)需求分析(7)2.3系統(tǒng)功能分析(9)2.4本章小結(jié)(10)3 遺傳算法組卷設(shè)計3.1遺傳算法(11)3.2組卷理論簡介(16)3.3傳統(tǒng)組卷算法的分析(18)

10、3.4遺傳算法組卷原理(19)3.5遺傳算法組卷設(shè)計(19)3.6本章小結(jié)(26)4系統(tǒng)設(shè)計4.1系統(tǒng)硬件平臺設(shè)計(27)4.2系統(tǒng)軟件平臺的選擇(28)4.3系統(tǒng)總體功能設(shè)計(28)4.4系統(tǒng)主要功能模塊設(shè)計(28)4.5系統(tǒng)數(shù)據(jù)庫設(shè)計(30)4.6本章小結(jié)(40)5系統(tǒng)實現(xiàn) 5.1登陸界面的實現(xiàn)(41)5.2管理員模塊的實現(xiàn)(41)5.3教師模塊的實現(xiàn)(42)5.4學(xué)生模塊的實現(xiàn)(48)5.5本章小結(jié)(49)致 謝(50)參考文獻(xiàn)(51)核心源代碼附錄(53)1 緒論1.1研究背景及意義隨著國家科技興國戰(zhàn)略的逐步實施,教育也由精英化向大眾化推進(jìn)。面對為數(shù)眾多且能力參差不齊的受教育者,傳統(tǒng)的

11、考試已經(jīng)滿足不了“因材施教,以人為本”的要求,教育和考核手段改變以勢在必行。在計算機(jī)網(wǎng)絡(luò)技術(shù)的推動下,產(chǎn)生了一大批計算機(jī)輔助教學(xué)設(shè)施。如在高校,使用多媒體進(jìn)行遠(yuǎn)程教學(xué)、電子管理系統(tǒng)管理學(xué)生的基本信息等等,都達(dá)到了比較好的預(yù)期效果1。在學(xué)院,依舊沿用傳統(tǒng)的人工出卷、紙質(zhì)考試、人工批閱、分?jǐn)?shù)采集的考試方式,教師有大量繁重的考務(wù)工作要做,由此在批閱、分?jǐn)?shù)采集時更容易出現(xiàn)錯誤;另一方面,學(xué)生容易根據(jù)出題老師的課堂內(nèi)容,進(jìn)行突擊復(fù)習(xí),采用猜題押題的方式來應(yīng)付考試。因此,這種考試不能達(dá)到對學(xué)生實際學(xué)習(xí)情況的有效評估,學(xué)生不能及時發(fā)現(xiàn)自己在學(xué)習(xí)中存在的問題,教師不能根據(jù)考試結(jié)果進(jìn)行合理的教學(xué)調(diào)整,達(dá)不到不斷

12、提高教學(xué)質(zhì)量的要求。相比國內(nèi)外網(wǎng)絡(luò)公開課的發(fā)展,學(xué)院有必要進(jìn)行網(wǎng)絡(luò)考試的嘗試,為今后的發(fā)展提供一個方向。網(wǎng)絡(luò)考試具有不受時間地域限制、提高考試工作的效率、避免資源浪費(fèi)降低教育成本的特點。同時,針對在外實習(xí)畢業(yè)生,往返學(xué)校參加考試確實不便,如能實現(xiàn)遠(yuǎn)程在線考試,將是非常不錯的選擇?!盎谶z傳算法的c語言程序設(shè)計在線考試系統(tǒng)”是關(guān)于如何從題庫中抽取一定數(shù)量的試題來形成一份高質(zhì)量試卷的組合優(yōu)化問題的研究,模擬自然界生物進(jìn)化的方式,動態(tài)自適應(yīng)性地滿足試題庫不斷變化的要求。相比簡單隨機(jī)搜索算法、回溯試探算法、誤差補(bǔ)償算法、優(yōu)先權(quán)算法,它具有組卷成功率高、速度快、容易控制、算法復(fù)雜度低等特點。它可以作為一

13、個實驗平臺,推進(jìn)學(xué)院無紙化考試改革的進(jìn)程。1.2目前國內(nèi)外在線考試系統(tǒng)的研究現(xiàn)狀在線考試系統(tǒng)是計算機(jī)輔助測試系統(tǒng)的外延,人們已經(jīng)利用它取得了很豐碩的成果。在國外,toefl、gre、rhca、ocm、ccie等各種在線認(rèn)證考試均已成功運(yùn)營;在國內(nèi),計算機(jī)等級考試、華為的網(wǎng)絡(luò)認(rèn)證考試等都如火如荼的展開2。這些網(wǎng)絡(luò)在線考試系統(tǒng),具有自動組卷、題庫量大、安全可靠、使用方便和界面友好等諸多特點,顯示了在線考試系統(tǒng)的強(qiáng)大生命力和廣闊的市場空間。目前,主要有三類考試系統(tǒng)模式:(1)單客戶機(jī)模式用戶只需要獨立的將考試系統(tǒng)安裝到計算機(jī)中而無需聯(lián)網(wǎng)就能模擬出考試環(huán)境,這種考試系統(tǒng)類似軟件而又沒有相應(yīng)的服務(wù)支持,

14、系統(tǒng)維護(hù)升級非常困難。(2)c/s模式c/s模式,即客戶端/服務(wù)器結(jié)構(gòu)模式。前端大部分是個人pc機(jī),完成界面顯示、數(shù)據(jù)輸入、向后臺發(fā)送請求、接受服務(wù)器返回的結(jié)果等。后端是服務(wù)器,提供數(shù)據(jù)庫的查詢和管理。模式的靈活性差,且所用客戶機(jī)都要安裝客戶端軟件。(3)b/s模式b/s模式,即瀏覽器/服務(wù)器結(jié)構(gòu)模式??蛻舳诉\(yùn)行瀏覽器軟件,瀏覽器以超文本形式向web服務(wù)器提出訪問數(shù)據(jù)庫的要求,web服務(wù)器接受客戶端請求后,將這個請求轉(zhuǎn)化為sql語法,并交給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器得到請求后,驗證其合法性,并進(jìn)行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給web服務(wù)器,web服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成h

15、tml文檔形式,轉(zhuǎn)發(fā)給客戶端瀏覽器以友好的web頁面形式顯示出來。b/s模式在線考試系統(tǒng)不需要客戶端安裝軟件程序,系統(tǒng)易于維護(hù)和管理,應(yīng)用廣泛。1.3開發(fā)平臺的比較與選取j2ee (java 2 enterprise edition)由sun公司推出,j2ee平臺提供了一個基于組件的方法,用來設(shè)計、開發(fā)、裝配以及部署企業(yè)應(yīng)用程序。微軟公司推出的.net系統(tǒng)在安裝了公共語言運(yùn)行庫(clr)的任何一個操作平臺上都可以運(yùn)行。.net和j2ee非常相似,但這兩種技術(shù)在實現(xiàn)方法和具體實現(xiàn)技術(shù)上有很大的差別。通過j2ee與.net支持的語言、標(biāo)準(zhǔn)及平臺進(jìn)行比較,本系統(tǒng)可采用.net架構(gòu)下的asp.net開

16、發(fā)環(huán)境。其具體比較如下。1.3.1支持的語言和語言標(biāo)準(zhǔn).net支持c+, vb, c#和j#等開發(fā)語言,支持下一代互聯(lián)網(wǎng)內(nèi)容表示的xml/soap標(biāo)準(zhǔn)。.net下,開發(fā)人員可以很容易的找到適合自己的開發(fā)語言。j2ee只能夠支持java語言,因此對語言的選擇比較的狹窄。1.3.2跨平臺在.net平臺上開發(fā)程序真正實現(xiàn)了代碼重用,即運(yùn)行時和具體語言分開,所有的資源管理,內(nèi)存分配和變量類型均有公共語言運(yùn)行庫處理。例如,用c#寫的類就可以直接用在c/c+程序中。而在j2ee平臺上只能用java來開發(fā)程序,運(yùn)行是和具體的語言混在一起3。1.4系統(tǒng)環(huán)境分析 1.4.1系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境:micros

17、oft visual studio 2010 集成開發(fā)環(huán)境 ;系統(tǒng)開發(fā)語言:asp.net + c# ;系統(tǒng)后臺數(shù)據(jù)庫:sql server2008 ;開發(fā)環(huán)境運(yùn)行平臺:win7(sp1)。1.4.2服務(wù)器端操作系統(tǒng):win7(sp1) ;web服務(wù)器:internet信息服務(wù)(iis)管理器;數(shù)據(jù)庫服務(wù)器:sql server2008;瀏覽器:ie8.0;客戶端瀏覽器:ie8.0。1.4.3開發(fā)環(huán)境和語言簡介asp.net是microsoft公司推出的web開發(fā)平臺,是目前最先進(jìn)、特征最豐富、功能最強(qiáng)大的web開發(fā)利器4。asp.net具有方便靈活、性能優(yōu)越、生產(chǎn)效率高、安全性高、完整性強(qiáng)等

18、特點,支持多種開發(fā)語言,并包含許多先進(jìn)技術(shù),如ado、.net、ajax無刷新技術(shù)、linq數(shù)據(jù)庫訪問技術(shù)母版頁、web server、主題等等,是目前主流的網(wǎng)絡(luò)編程環(huán)境之一。系統(tǒng)主要用到的asp.net對象如下:(1)response對象常用的方法redirect:將網(wǎng)頁重新導(dǎo)向另一個地址。write:將數(shù)據(jù)輸出到客戶端。(2)request對象的方法mappath:為當(dāng)前請求將請求的url中的虛擬路徑映射到服務(wù)器上的物理路徑。saveas:將http請求保存到硬盤。(3)session對象常用方法及其說明 abando:此方法結(jié)束當(dāng)前會話,并清除會話中的所有信息。如果用戶隨后訪問頁面,可以

19、為它創(chuàng)建新會話。c#語言是一種功能強(qiáng)大、面向?qū)ο蟮木幊陶Z言,它從c語言和visual c+派生而來,是microsoft公司.net技術(shù)核心開發(fā)語言,能很好的與asp.net 配合使用。iis是internet information server的縮寫,是微軟提供的internet服務(wù)器軟件,包括web、ftp、mail等服務(wù)器。其主要功能:安全通信,iis采用各種安全協(xié)議,保證了服務(wù)器端、客戶端和服務(wù)器端與戶端信息交換時的安全;權(quán)限向?qū)?,通過向虛擬目錄和文件分配訪問策略,可以簡化配置web站點訪問的任務(wù);iis進(jìn)程限制,能夠限制cpu在處理單個web站點的應(yīng)用程序時的時間百分比,還可以終止

20、新啟動運(yùn)行失常的進(jìn)程;應(yīng)用程序保護(hù),iis為web應(yīng)用程序提供了更大的保護(hù)和更強(qiáng)的可靠性。1.4.4所用fckeditor插件和倒計時技術(shù)簡介:fckeditor在線編輯器是專門應(yīng)用在網(wǎng)頁上實現(xiàn)“所見所得”的文字編輯器,可以減輕試題庫輸入時工作量,其主要實現(xiàn)如下功能:(1)現(xiàn)實文本對齊、縮進(jìn)和項目符號等格式化;(2)實現(xiàn)設(shè)置文字顏色、樣式、字體和類型等格式化;(3)實現(xiàn)剪切、粘貼、撤銷和重做等操作;(4)實現(xiàn)從word粘貼并自動清理的功能;(5)支持css,可以為文本內(nèi)容設(shè)置樣式;(6)支持插入表情符號,定制個性化內(nèi)容等。倒計時采用的是ajax技術(shù)中的javascript方式。會話開始時,瀏覽

21、器加載一個圖1-1 web工作模式和ajax工作模式ajax引擎,采用javascript編寫并且通常在一個隱藏的框架中。這個引擎負(fù)責(zé)繪制用戶界面以及與服務(wù)器端的通信。ajax技術(shù)允許用異步的方式實現(xiàn)用戶與程序的交互,就是說不用等待服務(wù)器端的通信,幫助用戶節(jié)省了等待時間5。ajax模式和傳統(tǒng)web模式工作方式如圖1-1所示。 1.5系統(tǒng)開發(fā)的目標(biāo)本系統(tǒng)將要實現(xiàn)如下目標(biāo):(1)考試界面簡潔美觀,方便學(xué)生和教師操作;(2)試卷編排合理,按教師設(shè)定難度和區(qū)分度自動組卷;(3)考試系統(tǒng)公平公正,考試設(shè)有倒計時方便學(xué)生掌握考試時間;(4)考試時間到后系統(tǒng)自動保存并且提交試卷;(5)系統(tǒng)能夠半自動閱卷并且

22、顯示考試結(jié)果;(6)考生能夠查看成績、瀏覽通知、修改密碼和進(jìn)行考試;(7)教師能夠添加、修改、刪除考生信息、試題信息,修改自身密碼,對組卷參數(shù)進(jìn)行設(shè)置并組卷,對考后的試卷進(jìn)行批閱和刪除;(8)管理員能夠添加、修改、刪除通知信息、教師和考生的信息,修改自身密碼,添加、修改、刪除,對系統(tǒng)進(jìn)行維護(hù)。1.6本章小結(jié)本章通過研究在線考試的意義和現(xiàn)狀,得出在線考試系統(tǒng)將在未來的教育中發(fā)揮巨大作用,故選擇在線考試系統(tǒng)作為開發(fā)對象;其次,為將進(jìn)行的開發(fā)選擇了開發(fā)平臺、所需環(huán)境和開發(fā)工具;最后提出了系統(tǒng)開發(fā)的所要完成的功能目標(biāo)。2 系統(tǒng)分析在進(jìn)行可行性研究和項目開發(fā)計劃以后,如果確認(rèn)開發(fā)一個新的軟件系統(tǒng)是必要的

23、而且是可行的,那么就可進(jìn)入分析階段。需求分析是指開發(fā)人員要理解用戶的要求,進(jìn)行詳細(xì)的市場調(diào)查,確定系統(tǒng)的新目標(biāo)6。為了滿足用戶的需要,回答系統(tǒng)要“做什么”的問題。2.1系統(tǒng)可行性分析(1)在系統(tǒng)開發(fā)的技術(shù)方面,“基于遺傳算法的c語言程序設(shè)計在線系”統(tǒng)屬于一個微型系統(tǒng),使用的前臺開發(fā)工具是microsoft visual studio2010,后臺數(shù)據(jù)庫使用sql server 2008,系統(tǒng)主要是通過前臺的操作對后臺數(shù)據(jù)庫進(jìn)行相應(yīng)的操作,如對數(shù)據(jù)的修改、添加、刪除和查詢。開發(fā)本系統(tǒng)時,使用microsoft visual studio2010進(jìn)行即見即得的前臺界面設(shè)計,通過sql語句使用戶實現(xiàn)

24、讀取后臺數(shù)據(jù),然后進(jìn)行相應(yīng)的數(shù)據(jù)操作,再將操作結(jié)果實時返回到數(shù)據(jù)庫中并保存,以便隨時提供查詢。因此系統(tǒng)開發(fā)的技術(shù)方面是可行的。(2)經(jīng)濟(jì)可行性方面:系統(tǒng)開發(fā)時,需要一臺處理器性能為piii或以上,內(nèi)存為512mb,硬盤至少10g,大家學(xué)習(xí)使用的計算機(jī)就可滿足要求。同時,本系統(tǒng)不涉及商業(yè)應(yīng)用,只作為學(xué)習(xí)應(yīng)用研究,因此可以免費(fèi)使用系統(tǒng)開發(fā)所需軟件,例如windows操作系統(tǒng),microsoft visual studio2010和sql server 2008數(shù)據(jù)庫等。可以得出,系統(tǒng)開發(fā)的經(jīng)濟(jì)方面是可行的。2.2系統(tǒng)需求分析2.2.1 功能需求分析一個完整的在線考試系統(tǒng)通常包括試題庫的建立與管理、

25、參與角色的分類與管理、考試的實施與管理、考后相關(guān)信息的發(fā)布與管理。本系統(tǒng)根據(jù)參與角色將需求分析具體分類如下。學(xué)生用戶需求:能使用用戶名和相應(yīng)的密碼登錄系統(tǒng)。登錄后,可實現(xiàn)瀏覽通知、參加測試和查看成績的功能。考生用戶名由教師給出,考生僅可以修改自己的密碼。若考生選擇瀏覽通知,則進(jìn)入通知瀏覽頁面;若考試完成,在規(guī)定的時間內(nèi)可以查詢自己的成績;若考生看完考試規(guī)則后選擇開始考試,系統(tǒng)自動計時,當(dāng)考生選擇交卷或者考試時間到時,系統(tǒng)自動將考生當(dāng)前的測試答案提交保存至后臺數(shù)據(jù)庫。試卷提交之后,考生可再次進(jìn)入系統(tǒng),但不可再次測試,只可進(jìn)行無關(guān)考試的操作。教師用戶需求:可修改自身除“教師戶名”字段之外的信息,調(diào)

26、閱考過的試卷和學(xué)生的答卷,查看、增加、刪除、修改試題信息、通知信息和考生信息,設(shè)置組卷參數(shù),組卷,批閱學(xué)生答卷,統(tǒng)計試卷得分,得出數(shù)據(jù)分布情況,重新計算試卷中出現(xiàn)的各個試題的難度和區(qū)分度,賦予其相應(yīng)值。管理員用戶需求:能夠?qū)W(xué)生信息、教師信息、通知信息進(jìn)行查看、增加、刪除和修改操作,添加其他管理員,查看其他管理員戶名和管理員姓名,修改自身除“管理員戶名”字段之外的信息,還能夠進(jìn)行系統(tǒng)數(shù)據(jù)的備份與還原。2.2.2工具軟件需求分析由于選擇在.net平臺上進(jìn)行開發(fā),開發(fā)工具就必須全面支持.net架構(gòu)。而visual studio2010是微軟一款基于.net架構(gòu)的集成環(huán)境開發(fā)工具,具有天然的三層架構(gòu)

27、,很適合在線考試系統(tǒng)的開發(fā)。由于前臺界面開發(fā)工具為微軟的visual studio2010,所以就選擇同為微軟產(chǎn)品的sql server2008數(shù)據(jù)。因為兩者配合程度非常高,數(shù)據(jù)的處理上不會存在任何問題。2.2.3數(shù)據(jù)庫需求分析針對考試系統(tǒng)的需求,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):管理員信息,包括的數(shù)據(jù)項有:管理員姓名、密碼等。教師信息,包括的數(shù)據(jù)項有:教師姓名、密碼等??忌畔?,包括的數(shù)據(jù)項有:用戶名、密碼、班級等。試卷信息,包括的數(shù)據(jù)項有:單項選擇題分值,單項選擇題數(shù)量;填空題分值,填空題數(shù)量;程序設(shè)計題分值,程序設(shè)計題數(shù)量。選擇題信息,包括的數(shù)據(jù)項有:單選題編號、題干、正確答案、備選項(a

28、、b、c、d)等。填空題信息,包括的數(shù)據(jù)項有:填空題編號、題干、正確答案等。程序設(shè)計題信息,包括的數(shù)據(jù)項有:填空題編號、題干、參考答案等。成績信息,包括的數(shù)據(jù)項有:考生學(xué)號、成績、考試時間等。通知信息,包括的數(shù)據(jù)項有:通知內(nèi)容、通知時間、通知發(fā)布者等。本系統(tǒng)應(yīng)該建立一個穩(wěn)定的后臺數(shù)據(jù)庫系統(tǒng),通過該數(shù)據(jù)庫管理整個考試系統(tǒng)所需的信息(用戶信息、試題信息、試卷信息、考試信息等),還應(yīng)該包括學(xué)生、教師和管理員的賬號、考試過程的控制機(jī)制。2.3系統(tǒng)功能分析本系統(tǒng)的用戶可分為管理員、教師和考生,其功能應(yīng)滿足如下要求:(1)考試界面簡潔美觀,方便學(xué)生和教師操作;(2)試卷編排合理,按教師設(shè)定難度和區(qū)分度自動

29、組卷;(3)考試系統(tǒng)公平公正,考試設(shè)有倒計時方便學(xué)生掌握考試時間;(4)考試時間到后系統(tǒng)自動保存并且提交試卷;(5)系統(tǒng)能夠半自動閱卷并且顯示考試結(jié)果;(6)考生能夠查看成績、瀏覽通知、修改密碼和進(jìn)行考試;(7)教師能夠添加、修改、刪除考生、試題、通知的信息,修改自身密碼,設(shè)置組卷參數(shù),并組卷,批閱和刪除考后的試卷;(8)管理員能夠添加、修改、刪除教師、考生、通知的信息,添加其他管理員,查看其他管理員戶名和管理員姓名,維護(hù)自身信息和系統(tǒng)信息。從上面的結(jié)論得出系統(tǒng)的具體模塊劃分如下:學(xué)生模塊:(1)系統(tǒng)管理:修改密碼,退出系統(tǒng);(2)考試模塊:進(jìn)行考試,計時功能,交卷功能;(3)成績查詢:只可查

30、詢自己的成績;(4)通知瀏覽:瀏覽通知。教師模塊:(1)系統(tǒng)管理:修改密碼,退出系統(tǒng);(2)試題管理:對題目的增加、修改和刪除;(3)自動評分:對提交的試卷客觀題部分進(jìn)行自動評分;(4)數(shù)據(jù)統(tǒng)計:統(tǒng)計考生分?jǐn)?shù),重新計算各個試題的難度和區(qū)分度;(5)試卷管理:批閱考卷主觀題,考卷參數(shù)設(shè)置并自動組卷; (6)學(xué)生信息管理:瀏覽學(xué)生信息,并能進(jìn)行增刪改操作;(7)通知瀏覽模塊:教師對通知進(jìn)行增刪改操作。管理員模塊:(1)系統(tǒng)管理:修改密碼,退出系統(tǒng);(2)系統(tǒng)維護(hù):系統(tǒng)備份、還原;(3)通知管理:添加、修改、刪除通知信息;(4)用戶管理:添加、修改、刪除教師、學(xué)生的相關(guān)信息,查看其它管理員的管理員戶

31、名、管理員姓名。2.4本章小結(jié)本章通過系統(tǒng)可行性分析、系統(tǒng)需求分析和系統(tǒng)功能分析,確定了所開發(fā)系統(tǒng)需要的工具軟件、系統(tǒng)的結(jié)構(gòu)、各模塊基本功能,對系統(tǒng)有更進(jìn)一步的認(rèn)識。3 遺傳算法組卷設(shè)計3.1遺傳算法遺傳算法是一種通過模擬自然進(jìn)化過程的全局最優(yōu)解搜索方法,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強(qiáng)的魯棒性,是用來解決在多目標(biāo)約束條件下求最優(yōu)解問題的算法,具有廣泛的應(yīng)用。3.1.1遺傳算法基本描述遺傳算法(genetic algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法,它最初是由美國michigan大學(xué)j.

32、holland教授于1975年首先提出來的,并出版了頗有影響的專著“adaptation in natural and artificial systems ga這個名稱才逐漸為人所知,j. holland教授所提出的ga通常為簡單遺傳算法7。遺傳算法抽象自生物體進(jìn)化過程,通過全面模擬自然選擇和遺傳,形成一種“生成+檢驗”特征的搜索算法。遺傳算法以編碼空間代替問題空間,以適應(yīng)度函數(shù)為評價依據(jù),以編碼群體為進(jìn)化基礎(chǔ),以對群體中個體位串的遺傳操作實現(xiàn)選擇和遺傳機(jī)制,建立起一個迭代過程,直到得到滿足條件的結(jié)果,遺傳算法同時具有內(nèi)在的并行性、收斂速度快和全局尋優(yōu)等的特點,父代與子代之間維持由潛在解組成

33、的種群來實現(xiàn)多樣性和全局搜索。遺傳算法的內(nèi)在并行性和群體搜索策略為多目標(biāo)優(yōu)化問題提供了較好的解決方案,因此適宜于處理類似自動組卷這種多目標(biāo)優(yōu)化的問題。3.1.2遺傳算法基本概念由于遺傳算法是由生物遺傳學(xué)和計算機(jī)科學(xué)相互結(jié)合滲透而成的一種新的計算方法,因此遺傳算法中經(jīng)常使用一些生物遺傳學(xué)中的基本概念。了解這些基本概念對于討論和應(yīng)用遺傳算法是十分必要的。(1)染色體(chromosome):在使用遺傳算法時,需要把問題解編碼成具有固定結(jié)構(gòu)的符號串,它的每一位代表一個基因。一個染色體就代表問題的一個解,每個染色體稱為一個個體。(2)種群(population):每一代所產(chǎn)生的染色體總數(shù)。一個種群包含

34、了該問題在這一代的一些解的集合。(3)適應(yīng)度(fitness):每個個體對應(yīng)一個具體問題的解,每個解對應(yīng)的函數(shù)值即為適應(yīng)函數(shù),它是衡量染色體對環(huán)境適應(yīng)度的指標(biāo),也是反映實際問題的目標(biāo)函數(shù)。(4)基因座:染色體中基因的位置稱為基因座,而基因所取的值叫做等位基(5)模式定理:在遺傳算子選擇、雜交、變異的作用下,低階、定義長度短、超過群體平均適應(yīng)值的模式生存數(shù)量,將隨著迭代次數(shù)的增加以指數(shù)級增長。(6)最小字符集編碼規(guī)則:編碼采用最小字符集,使問題得到自然簡單的表示和描述。3.1.3遺傳算法基本流程遺傳算法在整個進(jìn)化過程涉及五大要素:參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的設(shè)定、遺傳操作的設(shè)計、控制參

35、數(shù)的設(shè)定。(1)選擇編碼策略,把參數(shù)集合x和域映射到位串結(jié)構(gòu)空間s;(2)定義適應(yīng)值函數(shù)f(x);(3)確定遺傳策略,包括選擇群體大小n,選擇、雜交、變異方法,確定雜交概率pc、變異概率pm等遺傳參數(shù);(4)隨機(jī)初始化生成群體p;(5)計算群體中個體的位串適應(yīng)值f(x);(6)按照遺傳策略。運(yùn)用選擇、雜交和變異算子作用于群體,形成下一代;(7)判斷是否達(dá)到預(yù)定目標(biāo),或者完成預(yù)定迭代次數(shù),不滿足則回到(6)。遺傳算法流圖如3-1圖所示。圖3-1遺傳算法流程圖3.1.4遺傳算子介紹遺傳算法操作算子一般都包括選擇、雜交、和變異三種基本形式,他們構(gòu)成了遺傳算法具有強(qiáng)大全局搜索能力的核心,是模擬自然選擇

36、以及遺傳過程中發(fā)生的繁殖、雜交和變異現(xiàn)象的主要載體。遺傳算法利用遺傳算子產(chǎn)生新一代群體來實現(xiàn)群體進(jìn)化。(1)選擇算子,從當(dāng)前群體中選擇適應(yīng)值高的個體以生成交配池的過程,有適應(yīng)值比列選擇、排序選擇、精英選擇等形式。(2)雜交算子,是進(jìn)化算法中遺傳算法具備的原始性的獨有特征,它模仿自然界有性繁殖的基因重組過程。雜交一般包括一點雜交、兩點雜交、多點雜交、一致雜交等。雜交操作分以下三步:從交配池中隨機(jī)的取出要交配的一對個體;根據(jù)位串長度l,對要交配的一對個體,隨機(jī)選取1,l-1中一個或多個的整數(shù)k作為雜交位置;根據(jù)雜交概率pc(0pc=1)實施雜交操作,配對個體在雜交位置處,相互交換各自的部分內(nèi)容,從

37、而形成新的一對個體;變異算子,是模擬自然界生物進(jìn)化中染色體上某位基因發(fā)生的突變現(xiàn)象,從而改變?nèi)旧w的結(jié)構(gòu)和物理性狀。變異操作是作用于個體位串的等位基因上,由于變異概率較小,在實施中根本不發(fā)生變異,所以現(xiàn)對個體層次的變異發(fā)生概率進(jìn)行判斷,然后實施基因?qū)哟紊系淖儺惒僮鳌W儺愃阕涌梢允谷后w進(jìn)化過程中丟失的等位基因信息得以找回,以保持群體中的個體差異,防止發(fā)生早熟收斂;此外,當(dāng)種群規(guī)模較大時在雜交操作上引入適度的變異,可提高遺傳算法的局部搜索效率。3.1.5種群設(shè)定和初始化種群是遺傳算法的作用域,作用域的大小直接影響遺傳算法并行性、全局性和魯棒性。根據(jù)模式定理,若群體規(guī)模為n,則遺傳算子可以從這n個個

38、體中生成和檢測o(n*n*n)個模式,并在此基礎(chǔ)上不斷形成和優(yōu)化基因模塊,一直逼近問題的全局最優(yōu)解。初始化中種群的個體一般是隨機(jī)產(chǎn)生的。在不具有關(guān)于問題解空間的先驗知識的情況下,很難判定最優(yōu)解得數(shù)量及其在可行解空間的分布狀況8,因此,往往采用問題解空間均勻采樣的方法,隨機(jī)生成一定數(shù)量的個體(為初始群體規(guī)模的兩倍),然后從中挑選好的個體構(gòu)成初始種群。3.1.6終止循環(huán)條件(1)采用設(shè)定種群的最大代數(shù),即進(jìn)化代數(shù)到達(dá)限定的最大值便停止,該方法簡單易行,但不準(zhǔn)確;(2)根據(jù)種群的收斂程度來判斷,通過計算種群中的基因多樣性測度,即所有基因位的相似程度來進(jìn)行控制;(3)根據(jù)種群的整體性能、進(jìn)化能力、遺傳

39、算法的搜索能力等的變化進(jìn)行判斷;(4)在采用精英保留選擇策略的情況下,按每代最佳個體的適應(yīng)值的變化情況來確定。3.1.7遺傳算法搜索遺傳算法應(yīng)用于優(yōu)化問題求解,是一個啟發(fā)式搜索過程。在該搜索過程中,遺傳算法不僅需要探索解空間上的全局性最優(yōu)解,而且應(yīng)當(dāng)充分利用已獲得解空間信息逼近當(dāng)前局部最優(yōu)解。遺傳算法通過群體和遺傳算子可以實現(xiàn)揚(yáng)棄性的探索,克服局部極值陷阱,實現(xiàn)整個解空間范圍內(nèi)的搜索,提高全局尋優(yōu)能力。通過續(xù)承的發(fā)展,維持群體的可進(jìn)化性,同時克服早熟,實現(xiàn)領(lǐng)域搜索,提高搜索逼近能力。揚(yáng)棄是通過遺傳算法中的選擇算子選出優(yōu)良個體淘汰劣質(zhì)個體,從而維持群體整體的優(yōu)良性。續(xù)承與發(fā)展靠交叉算子、變異算子

40、來對群體中的個體操作從而達(dá)到群體整體的進(jìn)化。其搜索能力如圖3-2所示。圖3-2 遺傳算法搜索能力3.2組卷理論簡介3.2.1試題庫建設(shè)的理論基礎(chǔ)試題庫由各種題型和試題組成。試題庫對加入其中的試題都有一定的要求。主要是按照經(jīng)典測量理論或項目反應(yīng)理論來進(jìn)行設(shè)計。經(jīng)典測量理論采用的是線性的定性模型,項目反應(yīng)理論采用的是非線性的概率模型9。本系統(tǒng)采用的是經(jīng)典測量理論。(1)經(jīng)典測量理論數(shù)學(xué)模型是經(jīng)典測量理論的核心。而真分?jǐn)?shù)數(shù)學(xué)模型是經(jīng)典測量理論的基礎(chǔ),也是這個理論的核心,其理論基礎(chǔ)是弱假設(shè)10。所謂弱假設(shè)是指這些假設(shè)很容易驗證并易被絕大多數(shù)測驗數(shù)據(jù)資料所滿足。經(jīng)典測量理論在此基礎(chǔ)上建立一整套理論及統(tǒng)計

41、分析方法。利用經(jīng)典測量理論進(jìn)行教育測驗,要求被測者在完成一定題目的基礎(chǔ)上,根據(jù)一定的指標(biāo),通過作答情況來判斷其發(fā)展水平。系統(tǒng)所涉及的指標(biāo)介紹:難度,是指測驗試題的難易程度。在教育測量中,客觀題的難度一般用正確解答試題的人數(shù)與參加測驗的學(xué)生總數(shù)的比值來表示。難度是試題對學(xué)生知識和能力水平適合程度的指標(biāo)。區(qū)分度,是測驗試題對被試者能力高低的鑒別,是評價試題質(zhì)量,篩選試題的主要指標(biāo)和依據(jù)。如考生實在考試測驗中,所得分?jǐn)?shù)都相差不大,就說區(qū)分度不好;當(dāng)學(xué)習(xí)好考生得高分,不怎么學(xué)習(xí)的考試得低分,即這份試卷有良好的區(qū)分度,符合考試教學(xué)規(guī)律。經(jīng)典測量理論的優(yōu)點在于統(tǒng)計方法簡單明了,容易計算。指標(biāo)是量化的,意義

42、易于理解和掌握;缺點在于試題指標(biāo)受樣本的選擇,考生的實際水平無法和試題指標(biāo)建立相應(yīng)的函數(shù)關(guān)系。(2)項目反應(yīng)理論項目反應(yīng)理論和經(jīng)典測量理論大相經(jīng)庭,經(jīng)典測量理論是在測試者完成一定數(shù)量的情況下,再對被試者進(jìn)行評價;項目反應(yīng)理論假定測試者有能力,然后定量估計其能力。項目反應(yīng)理論克服了經(jīng)典測量理論的缺點,但對測試者的能力認(rèn)評估還需要更精確。項目反應(yīng)理論把測試者的能力稱為“潛在特質(zhì)”,潛在特質(zhì)是在觀察分析測驗反應(yīng)基礎(chǔ)上提出的一種統(tǒng)計構(gòu)想。項目反應(yīng)理論是根據(jù)考生回答題目的情況,估算考生的能力。項目反應(yīng)理論是能力測試的理論,它主要包括幾種重要的假設(shè):能力的單維性假設(shè)、局部獨立性假設(shè)、題目特征曲線假設(shè)、完成

43、測試時間的充分性假設(shè)等。3.2.2試題庫建設(shè)的特性一個科學(xué)合理的試題庫在保證試題質(zhì)量的同時,組卷速度快、區(qū)分度好、難度適中、試卷的分析科學(xué)合理以及減少系統(tǒng)的負(fù)擔(dān)。由此試題庫建設(shè)是非常必要和重要的,試題庫中的試題是按照考試大綱、考試目標(biāo)、試題約束和考試結(jié)果進(jìn)行篩選和校準(zhǔn)的。本系統(tǒng)的試題庫應(yīng)該具有以下幾個特性:(1)試題庫的容量要適中,題量太小,生成的試卷不科學(xué),不合理;題量太大,抽取試題時間太長,題目的錄入和選取也比較耗時。(2)為了便于組卷,試題庫中的題目按照題型分類。(3)試題庫中的試題除了能反應(yīng)題目本身之外,還要能識別題目的屬性,這樣能區(qū)別于庫中的其他題目。3.2.3組卷系統(tǒng)成卷步驟組卷系

44、統(tǒng)要實現(xiàn)其功能必須經(jīng)過四個過程,即獲取用戶需求、建立試卷模式、建立組卷算法的數(shù)學(xué)模型和試卷模型的求解。其中,前一步的操作時下一步實現(xiàn)的基礎(chǔ)。好的組卷數(shù)學(xué)模型使得求解相對容易,整個算法實現(xiàn)的比較快。不好的組卷數(shù)學(xué)模型不僅使得算法的實現(xiàn)比較困難,還有可能導(dǎo)致系統(tǒng)的癱瘓。成卷模式是對用戶需求一種定量的反應(yīng),它是建立組卷數(shù)學(xué)模型的基礎(chǔ),它的好壞決定了組卷數(shù)學(xué)模型的好壞。3.3傳統(tǒng)組卷算法的分析自動組卷就是按照測驗?zāi)康暮徒M卷要求在試題庫中抽取滿足條件的試題,從而組合成一套或多套試卷。試卷的質(zhì)量直接影響著考試的考核尺度。然而,目前現(xiàn)有的組卷算法在一定程度上還存在著一些問題。比如,隨機(jī)組卷算法具有很大的隨機(jī)

45、性和不確定性回;溯試探法對內(nèi)存的占有量較大,結(jié)構(gòu)復(fù)雜,組卷時間長;誤差補(bǔ)償策略中的誤差難以掌握;優(yōu)先權(quán)策略的操作過程中需要對優(yōu)先權(quán)反復(fù)進(jìn)行排序和比較,算法比較復(fù)雜等等。因此,尋求一種更加合理、有效的組卷算法。3.3.1隨機(jī)抽取策略隨機(jī)抽取策略就是根據(jù)組卷指標(biāo),從試題庫中隨機(jī)抽取試題,不斷重復(fù)搜索過程,直到試題生成、操作完成或不能再搜索到滿足組卷指標(biāo)的試題為止11。這種方法結(jié)構(gòu)簡單,但對試題量的要求較高,具有很大的不確定性和隨機(jī)性,在題庫中題量較少的情況下,效率很差。3.3.2回溯試探法回溯試探法是將隨機(jī)抽取法產(chǎn)生的每一狀態(tài)類型記錄下來,當(dāng)搜索失敗時釋放上次記錄的狀態(tài)類型進(jìn)行試探,通過不斷地回溯

46、試探直到試卷生成完畢或退回到出發(fā)點為止12。此方法適應(yīng)于類型和出題量都比較小的題庫系統(tǒng),實際應(yīng)用程序結(jié)構(gòu)相對復(fù)雜,而且選取試題隨機(jī)性差,組卷時間長。3.3.3誤差補(bǔ)償策略所謂誤差補(bǔ)償策略就是在試題生成過程中,當(dāng)有些約束條件不能滿足的時候,可以適當(dāng)?shù)胤艑捈s束條件,讓試題在允許的誤差范圍內(nèi)生成試卷。這種組卷策略在試題的生成過程中確實可以減少失敗的次數(shù),提高了組卷的效率和成功率,但在生成試題時的誤差區(qū)間是很難掌握的。3.3.4優(yōu)先權(quán)策略在試題生成的開始階段,由于各項屬性都有較大的取值范圍,各指標(biāo)的牽制問題不會立即反映出來,但隨著被選試題數(shù)的增加,取值范圍逐步縮小,矛盾便會隨之產(chǎn)生,為了避免這種情況,

47、可以考慮利用優(yōu)先權(quán)策略,將難選的試題放在前面選出13。該方法在實際的操作過程中需要不斷地對優(yōu)先權(quán)重新進(jìn)行計算與排序,這樣會使算法很復(fù)雜,效果也有限。3.4遺傳算法組卷原理自動組卷按照一定的算法自動地從試題庫中抽取試題,組成試卷14。算法的好壞直接影響抽取試題的質(zhì)量。利用好的算法組成的試卷既能滿足教學(xué)要求又能滿足用戶要求。系統(tǒng)在對用戶進(jìn)行需求分析的基礎(chǔ)上,將用戶的要求轉(zhuǎn)化成對試卷指標(biāo)的具體要求,試卷指標(biāo)主要包括考試時間、難度、區(qū)分度,可隱性地包含試卷總分100分;然后根遺傳算法,在試題指標(biāo)的約束下,從試題庫中隨機(jī)試題形成試卷初始群體,使用遺傳算法作用在群體上進(jìn)行進(jìn)化,再得出近似的全局最優(yōu)解,最后

48、對得出的解進(jìn)行解碼映射,生成試卷。相比傳統(tǒng)的“先從試題庫中抽取試題,然后驗證試題是否符合試題指標(biāo)”組卷方式,遺傳算法組卷建立一個最接近用戶要求的多目標(biāo)的數(shù)學(xué)模型,然后對數(shù)學(xué)模型進(jìn)行求解,求解的結(jié)果滿足當(dāng)前試卷模式下的具體指標(biāo)要求值,最后在題庫中查找與指標(biāo)值相匹配的試題,完成組卷15。遺傳算法組卷只需遍歷一次試題庫,經(jīng)過遺傳選擇、交叉和變異算子的操作,就可以找到符合條件的試題,明顯的避免了抽題的盲目性,節(jié)約了組卷時間。3.5遺傳算法組卷設(shè)計本文是按分類編碼的準(zhǔn)遺傳算法進(jìn)行組卷設(shè)計,對參數(shù)映射、編碼解碼、遺傳算子、適應(yīng)值函數(shù)、停止準(zhǔn)則進(jìn)行設(shè)計,將問題變?yōu)檫z傳算法可操作對象,最后得出近似全局最優(yōu)解,

49、再將解還原成問題對應(yīng)的解。3.5.1問題參數(shù)映射設(shè)計本系統(tǒng)需要按題型分類將試題信息表中試題數(shù)量映射成二進(jìn)制編碼位串長度,解碼后取出各試題的難度、區(qū)分度屬性值,進(jìn)行適應(yīng)函數(shù)值的計算,然后進(jìn)行遺傳操作,最后將得出的全局近似最優(yōu)解依舊按題型分類使用試題的主鍵字段映射到試卷信息表中。采用多表查詢的方式,從試卷信息表和試題信息表得到所要的試題。這樣保留了歷次考試的試卷信息,提高了試題存儲的效率,降低了試題庫信息的改變對歷次試卷的影響。3.5.2編碼和解碼的設(shè)計由問題空間向遺傳算法編碼空間的映射稱作編碼,而由編碼空間向問題空間的映射稱作譯碼。遺傳算法編碼一般需要滿足以下三個條件:完備性:問題空間中的所有點

50、(可行解)都能成為遺傳算法編碼空間中的點(染色體位串)的表現(xiàn)性;健全性:遺傳算法編碼空間中的染色體位串必須對應(yīng)問題空間中的某一潛在解;非冗余性:染色體和潛在解必須一一對應(yīng)?;谧孕∽址瓌t,考慮按試題分類編碼,采用非定長二進(jìn)制編碼、解碼的方式比較合適。編碼字符集為0,1,0代表字符串中該位代表的試題不被選中,1則代表選中。編碼位串空間:bt=(a1,a2,a3,an),ai(i=1,2,3,n)屬于字符集0,1,n代表試題信息表中第t類試題的總量。由編碼位串空間構(gòu)成問題解空間的位串,即個體位串空間為:p=(b1,b2,bm),si(i=1,2,3,m)是第i類試題中被選中的試題,m代表試題庫

51、中試題類型的總量。由于采用非定長二進(jìn)制編碼,首先對編碼位串空間進(jìn)行解碼,再對編碼問題空間進(jìn)行解碼,解碼方式如下。解碼位串空間函數(shù):st=jm(string bt);函數(shù)jm(string)的設(shè)計如下:protected string jm(string bt) string arry=”;for( j=1; j l) tmpstr = str.substring(0, l); return tmpstr;protected string right(string str, int l) string tmpstr; tmpstr = str; if (str.length l) tmpstr

52、= str.substring(str.length - l, l); return tmpstr; 解碼問題空間,便是根據(jù)解碼的串位空間結(jié)果對題庫試題信息表進(jìn)行相應(yīng)的數(shù)據(jù)操作,取得各試題難度、區(qū)分度的值,再利用適應(yīng)值函數(shù)計算該解的適應(yīng)值。3.5.3遺傳算子的設(shè)計遺傳算法中,選擇算子的作用是在種群中選擇優(yōu)良個體的基因遺傳給下一代,變異算子的作用是基因重組和群體更迭,變異算子的具有維持群體的多樣性、提高遺傳算法的局部搜索效率的。(1)選擇算子選擇算子采用排序選擇,作用于整個群體,將其中個體按適應(yīng)值由大到小的排成一個序列,再由頭向尾小取出下一代種群的量,放入交配池,等待交叉操作。與英選擇相比,排序

53、選擇容易丟失全局最優(yōu)解,但過程比較容易控制,可以動態(tài)調(diào)整選擇概率,根據(jù)群體進(jìn)化情況適時改變?nèi)后w的選擇壓力;與的適應(yīng)值比列選擇相比,排序選擇種群的多樣性更高,后代的選擇壓力較小,進(jìn)化能力更強(qiáng);與模擬退火過程的boltzmann選擇相比,不必考慮如何選擇退火溫度的值和最大的進(jìn)化代數(shù)。設(shè)置選擇的概率為0.8。排序選擇的流程圖如圖3-3所示。圖3-3選擇排序流程圖(2)交叉算子交叉算子的作用是使個體間進(jìn)行基因的交流,產(chǎn)生新的子代,從而使種群得到更新。交叉有多點交叉、兩點交叉和單點交叉。多點交叉可以使基因快速交流,加快收斂的速度,但整個過程難以控制;兩點交叉和單點交叉在整個基因交流過程中比較緩慢,但較容

54、易控制和實施。此外,交叉算子作用下,只進(jìn)行基因的交流,并不在更新種群過程產(chǎn)生新的基因。本系統(tǒng)交叉算子采用單點交叉,一次作用在兩個個體上,隨機(jī)選中作用的題型,再作用在該題型位串上的某位,將作用域里的兩個個體位串都按該位將位串分為兩部分,開始相互交換對應(yīng)的位串。與多點交叉和一致交叉相比較,單點交叉效率較低,位串頭和尾部的位總是在不斷的交換,不利于快速產(chǎn)生優(yōu)良個體。但該方法容易理解,過程控制簡單,便于學(xué)習(xí)和研究遺傳算法。交叉算子流程圖如圖3-4所示。圖3-4 交叉算子流程圖變異算子是作用在個體位串的等位基因上的,變異概率大小決定了局部搜索的范圍,太大了遺傳算法容易蛻變?yōu)殡S機(jī)搜索算法,太小了種群的多樣

55、性難以確保,本系統(tǒng)將變異概率設(shè)置為0.15。變異算子流程圖如圖3-5所示。圖3-5變異算子流程圖3.5.4適應(yīng)值函數(shù)設(shè)計參與適應(yīng)函數(shù)設(shè)計的兩個要素,難度系數(shù)和區(qū)分度系數(shù)定義如下:試題難度系數(shù):nd(xi)= sum(xi)( n*f(xi)xi為試卷中第i道題,nd(xi)為第i題的難度,sum(xi)為所有參與考試的考生在第i道題得分的總分,n為參加考試的人數(shù),f(xi)為第i道題對應(yīng)的分值。試題難度系數(shù)越大,考生越容易分。試題區(qū)分度:qf(xi)為(1/e)的t次方, qf(xi)為第i題的區(qū)分度t=|g(xi)g(xi)(f(xi)5)|,g(xi)為考試成績靠前的占考生總量20%的考生對試卷中第i道題的平均的分,g(xi)則為考試成績靠后的占考生總量20%的考生對試卷中第i道題的平均的分,f(xi)為第i道題的分值。區(qū)分度越高,對考生的區(qū)分能力就越強(qiáng)。試卷難度tnd取所有選中試題難度的平均值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論