羅雅麗
(常德職業(yè)技術(shù)學(xué)院現(xiàn)教中心,湖南常德415000)
基于常職院考試題庫管理系統(tǒng)自動組卷算法的實(shí)現(xiàn)研究
羅雅麗
(常德職業(yè)技術(shù)學(xué)院現(xiàn)教中心,湖南常德415000)
文章從考試系統(tǒng)的核心服務(wù)自動組卷算法和考試系統(tǒng)的系統(tǒng)實(shí)現(xiàn)的兩個方面詳細(xì)的描述了考試系統(tǒng)的實(shí)現(xiàn)過程,分析了系統(tǒng)實(shí)現(xiàn)的算法及程序,并給出了部分的核心程序代碼及流程圖,為系統(tǒng)的實(shí)現(xiàn)和數(shù)據(jù)測試提供了依據(jù).
自動組卷算法;遺傳算法;概率密度函數(shù)
基于常職院考試題庫管理系統(tǒng)在試卷自動組卷方面,提出了應(yīng)用遺傳算法以及概率密度算法的方法和思想.
考試題庫試卷初始種群根據(jù)自動組卷方案中的總題數(shù)、題型比例、總分等要求然后調(diào)用概率密度函數(shù)隨機(jī)產(chǎn)生,這種自動組卷的處理方式使得初始種群一開始就滿足了自動組卷方案的基本要求.從而加速了遺傳算法的收斂并減少迭代的次數(shù).采用分組實(shí)數(shù)編碼,可以適應(yīng)以往采用二進(jìn)制編碼搜索空間過大和編碼長度過長的缺點(diǎn),而且同時消除了個體的解碼時間,加速了求解速度.適應(yīng)度函數(shù)(Fitness function)是用來評判試卷群體中個體的優(yōu)劣程度的指標(biāo),遺傳算法利用適應(yīng)度值這一參數(shù)指標(biāo)來指導(dǎo)搜索方向,而不需要適應(yīng)度函數(shù)滿足連續(xù)或可導(dǎo)以及其它輔助信息.
在初始化種群的時候,題數(shù)和總分等要求是已知的,所以在初始化種群的時候所需要考慮的只有知識點(diǎn)分布和試題的難度系數(shù).BLL(接口層)與WCF Service層、DAL(數(shù)據(jù)訪問層)算法處理方法如下:
1.1 BLL接口層
接口層實(shí)現(xiàn)對WCF服務(wù)調(diào)用的封裝,讓W(xué)eb應(yīng)用層不再關(guān)心通信協(xié)議、類型適配、生命周期等錯綜復(fù)雜的問題,只需要按功能需求對接口提供的組件進(jìn)行組裝;接口層對WCF服務(wù)的調(diào)用采用兩種方式為:請求響應(yīng)模式和單箱操作模式.
請求-響應(yīng)模式:所謂的請求-響應(yīng)模式如述,此種模式中由客戶端發(fā)送模式請求,服務(wù)端返回操作結(jié)果,如果請求-響應(yīng)模式中服務(wù)器沒有在預(yù)期的時間內(nèi)響應(yīng)請求,此種模式的客戶端就會產(chǎn)生異常信息.
單向操作模式:客戶端發(fā)送請求,服務(wù)端會將請求調(diào)用放入隊(duì)列,不給客戶端返回任何消息,并按先進(jìn)先出執(zhí)行;隊(duì)列存儲是有限的,當(dāng)超出了隊(duì)列存儲的設(shè)置值,則會阻塞請求通道,執(zhí)行完成時從隊(duì)列中移除此請求,當(dāng)隊(duì)列有新的空間時,解除阻塞.
接口層通過ServiceHost或ChannelFactory這兩個類通過服務(wù)契約與WCF服務(wù)建立通信通道,例如在本系統(tǒng)中在實(shí)現(xiàn)查詢學(xué)生成績單中使用ServiceHost以請求-響應(yīng)模式與服務(wù)層建立通信通道.
1.2 WCF Service層
本層靈活的借用三層架構(gòu)和WCF服務(wù)的特性,實(shí)現(xiàn)對業(yè)務(wù)邏輯處理的封裝,完成數(shù)據(jù)的訪問、運(yùn)算、存儲,并為BLL接口層提供服務(wù)契約(ServiceContract)、消息契約(MessageContract)、數(shù)據(jù)契約(DataContract)、操作契約(OperationContract),供接口層綁定協(xié)議實(shí)現(xiàn)對服務(wù)的調(diào)用.下面以自動組卷實(shí)例來說明本層的技術(shù)實(shí)現(xiàn):
1.2.1 創(chuàng)建服務(wù)契約(ServiceContract)和操作契約
(OperationContract)
為BLL接口層的調(diào)用準(zhǔn)備相應(yīng)的試卷服務(wù)契約和操作契約,服務(wù)合約(Service Contract),訂定服務(wù)的定義,示例代碼如下:
///
///WCF服務(wù)層試卷接口
///
[ServiceContract]//定義服務(wù)合約
public interface ITestPaper_Service
{
[OperationContract]//操作合約
bool Generate(int planID,ref int tID);
[OperationContract]//操作合約
public bool Delete(int tID)
[OperationContract]//操作合約
public bool Update(M_TestPaper model)
[OperationContract]//操作合約
DataSet GetTestPaper(int tID);}
1.2.2 創(chuàng)建數(shù)據(jù)契約(DataContract)
本實(shí)例依賴于自動組卷方案與方案詳情、試題、試卷、操作員、課程等對象,所以需要創(chuàng)建相應(yīng)的數(shù)據(jù)契約,數(shù)據(jù)合約(Data Contract),訂定雙方溝通時的數(shù)據(jù)格式,示例代碼如下:
///
///數(shù)據(jù)契約:自動組卷方案
///
[DataContract]//數(shù)據(jù)契約
public class Plan{
[DataMember]
public int ID;
[DataMember]
public string Name;
[DataMember]
public int CoursesID;
[DataMember]
public int Factor;
[DataMember]
public int Number;
[DataMember]
public int Fraction;}
1.2.3 實(shí)現(xiàn)服務(wù)契約
具體來說是實(shí)現(xiàn)服務(wù)契約定義的接口中的方法,本示例將按指定的自動組卷方案生成試卷,算法如下:
1.2.3.1 根據(jù)自動組卷方案ID(PlanID)通過DAL層得到數(shù)據(jù)對象自動組卷方案(Plan)和方案詳情(PlanList),如圖1所示.
圖1 自動組卷方案的生成圖
1.2.3.2 根據(jù)數(shù)據(jù)契約對象Plan的課程ID(CoursesID)和數(shù)據(jù)契約對象PlanList的題型(QType)得到初始種群(篩選符合條件的試題),如圖2所示.
圖2 生成初始種群
1.2.3.3 根據(jù)數(shù)據(jù)契約對象Plan的試題總數(shù)(Number)、總分(Fraction)和數(shù)據(jù)契約對象PlanList的每個題型的試題總數(shù)(Number)人初始種群,再通過利用概率密度函數(shù)隨機(jī)生成初始遺傳基因,如圖3所示.
1.2.3.4 根據(jù)數(shù)據(jù)契約對象Plan的難度系數(shù)(Factor)和試題(Questions)數(shù)據(jù)契約對象的難度系數(shù)(Factor)、知識點(diǎn)分布(KnowledgeID)利用適應(yīng)度函數(shù)、遺傳算法、概率密度函數(shù)找到最優(yōu)個體并記錄到試卷表,最優(yōu)試卷的生成流程如圖4所示.
圖3 生成初始基因
圖4 最優(yōu)試卷的生成
采用遺傳算法的組卷方法,考試題庫試卷初始種群根據(jù)自動組卷方案中的總題數(shù)、題型比例、總分等要求利用遺傳算法中的各項(xiàng)參數(shù)以及各個子程序來實(shí)現(xiàn)自動組卷.遺傳算法組卷方法的實(shí)現(xiàn)包括目標(biāo)函數(shù)的確定,試卷相關(guān)的指標(biāo)有試卷難度、題型、知識點(diǎn)分布等;個體編碼的確定,在試卷的組卷問題中必須對試卷等問題進(jìn)行編碼,組卷的問題就是解決組成試卷的組成問題;初始種群的產(chǎn)生,遺傳算法中將會以一代種群為基礎(chǔ),采用隨機(jī)法生成試卷;適應(yīng)度函數(shù)的設(shè)計(jì);組卷算法的選擇操作;遺傳算法的交叉操作;遺傳算法的變異操作等;遺傳算法以其相當(dāng)明確的操作步驟而顯得非常的有條理,容易用程序?qū)崿F(xiàn),基于遺傳算法的程序流程圖如圖5所示.
圖5 遺傳算法流程圖
〔1〕Richard McCarthy,Bruce White,Martin Grossman.Object O riented Analysis and Design:Do We Need More UML in the Classroom.Information SysteMEducation Journal, 2005,3(46):3-7.
〔2〕SMith,Keith.Simplifying AJAX-style Webdevelopment.Computer,2006,39(5):8-101.
〔3〕AbderrahiMGhadi,Driss Mammass,Maurice Mignotte.Hierarchical Role Graph Model for UNIX Access Control.International Journal of Future Generation Communication and Networking,2009,2(2):59-68.
〔4〕Jennings N R,Sycara K,Wooldridge MJ.A roadmap of agent research and-7 5-development Journal of Autonomous Agents and Multi-Agent Systems,2007,1(1):275-306.
〔5〕Robert K.Branson.The Florida Schoolyear 2000 initiative:Redesigning Public Education.Education Technology,2006,37(6):115-133.
〔6〕Digital Forensic Research Workshop.“A Road Map for Digital Forensic Research”,2001.
TP391.6
A
1673-260X(2013)07-0025-03
院級青年專項(xiàng)資助課題(zy1230)