摘 要:為了解決各類考試系統(tǒng)中隨機抽取試題時存在試題重復和試題命中率不均勻的現(xiàn)象,提出一種改進隨機取數(shù)局限性的樣本取數(shù)優(yōu)化算法。通過引入樣本概念,從試題庫中采集題號產(chǎn)生題號樣本,利用隨機函數(shù)產(chǎn)生預選樣本,由預選樣本在題號樣本中映射出所對應的題號,形成試卷草樣,經(jīng)過排序形成試卷正樣,完成試卷生成工作。采用樣本取數(shù)優(yōu)化算法具有較好的區(qū)間收斂性,試題庫中試題的命中率高,接近平均值。該算法應用于試題庫抽取試題具有速度快、抽取時數(shù)據(jù)量輕,組卷速度快。
關鍵詞:隨機函數(shù);樣本;計算機輔助教育;優(yōu)化設計
中圖分類號:TP301.6文獻標識碼:A
文章編號:1004-373X(2010)04-172-02
Sample Fetching Optimization Algorithm of Improved Random Function Limitation
CHU Jiuliang
(Modern Eeducation Technology Center,Taizhou Science and Technology Institute,Nanjing University of Science and Technology,Taizhou,225300,China)
Abstract:In order to solve various types of test systems that existed when a random sample test questions and the questions to repeat the phenomenon of uneven percentage of hits,a number of limitations to improve the random sample taken from a number of optimization algorithms.Through introduction of the sample concept of library collection from the examination title number ofthe topic number sample,the use of a random function of pre-selected samples,samples from the pre-selection samples in the title of its corresponding mapping out the title number,the examination paper outline sorting through formation of the examination paper type,the completion of paper work generated.Using samples from a number of optimization algorithm which has a good range of convergence,test questions library of hit rate,close to average.This algorithm is applied in extraction of test question which has high speed,light extraction of data quantity,the speed of generated papers is quick.
Keywords:random function;sample;CAI;optimization design
0 引 言
計算機輔助教育(CAI)作為計算機應用的一個重要領域,已經(jīng)越來越受到教育界的高度重視,逐漸滲透到教育界的各個方面,并作為提高教育、教學水平,改進教育、教學質(zhì)量的一個重要途徑,同時也是教育評估的一個有力的依據(jù)。近年來,計算機輔助教學這一領域得到了長足發(fā)展,計算機輔助測試系統(tǒng)CAT也不例外。國家相關行業(yè)組織的各種考試,相繼采用了計算機進行知識、水平的測試,進一步推動了這一技術的發(fā)展,各類高校也相應開發(fā)類似的測試系統(tǒng),如計算機考試題庫系統(tǒng)、信息技術考試、語言類各種考試系統(tǒng)、各行業(yè)業(yè)務考試系統(tǒng)等。所有這類系統(tǒng)中都會涉及到一個共同的問題即題庫抽題,而解決這一問題并沒有定法,但實現(xiàn)題庫抽題的算法可概括為:隨機抽取法(整卷隨機抽取法、隨機樣本優(yōu)化取數(shù)法)和智能抽取法(遺傳算法、模糊算法)[1,2]。這里所討論的算法就是第一類中的隨機優(yōu)化取數(shù)法,即“改進隨機函數(shù)局限性樣本取數(shù)優(yōu)化算法”,該算法操作的數(shù)據(jù)庫對象是帶過濾條件(滿足測試要求)的題庫。
1 隨機函數(shù)的局限性分析
VB中隨機函數(shù)的原形:Rnd(number),其中Rnd函數(shù)返回大于等于0且小于1的任意一個單精度的數(shù)據(jù)。number (可選項)的值決定了Rnd生成隨機數(shù)的方式。VB系統(tǒng)中用于產(chǎn)生隨機數(shù)方式取決于種子(Seed)的初始值,在默認情況下,每次運行一個應用程序,VB提供相同的種子,即用Rnd產(chǎn)生相同序列的隨機數(shù)。因為一次調(diào)用Rnd函數(shù)都用數(shù)列中的前一個數(shù)作為下一個數(shù)的種子。為了使每次運行程序調(diào)用隨機函數(shù)都會有不同的隨機數(shù)序列,在調(diào)用Rnd之前,先使用無參數(shù)的Randomize語句初始化隨機數(shù)生成器。該生成器具有根據(jù)系統(tǒng)計時器得到的種子,這樣再調(diào)用Rnd就會得到不同的隨機數(shù)序列。其格式為[3]:Randomize [Seed]。但在用隨機函數(shù)抽題時一般會出現(xiàn)兩種情況:題號重復;漏題。題號重復是隨機函數(shù)本身的缺陷,在同一題號序列中會產(chǎn)生同樣的題號,在題庫抽題時就會造成同一份試卷中有重復的題目[4,5]。漏題又分兩種情形:一是由于試題庫例行更新和維護造成有些題目因淘汰而被刪除;二是題庫中有些題目抽不到。由此造成了組卷內(nèi)容不能滿足教學要求,隨意性較大,知識結(jié)構(gòu)不銜接等問題,降低了試卷的質(zhì)量及題庫的利用率,導致教學效果評估嚴重失真,造成不良后果[6]。
2 隨機優(yōu)化取數(shù)算法分析
2.1 隨機取數(shù)數(shù)學基礎[4]
利用隨機函數(shù)可以產(chǎn)生任一區(qū)間內(nèi)的數(shù)據(jù),在數(shù)學中有開、閉區(qū)間之分,但為了取數(shù)方便,可將任一開區(qū)間轉(zhuǎn)換成閉區(qū)間來進行區(qū)間取數(shù)。假設某區(qū)間為[LowerBound,UpperBound],其中:LowerBound是區(qū)間的下界,UpperBound是區(qū)間的上界,要抽取的數(shù)為ID,則分別滿足以下兩個關系式:
ID=Int(Rnd*(UpperBound-LowerBound))+LowerBound(開區(qū)間)
ID=Int(Rnd*(UpperBound-LowerBound+1))+LowerBound(閉區(qū)間)
2.2 隨機樣本取數(shù)優(yōu)化算法實現(xiàn)
由于題庫中滿足過濾條件的題號可能會存在不連續(xù)的問題,為了改進隨機函數(shù)取數(shù)的局限性,引入樣本概念。通過程序在數(shù)據(jù)庫中實現(xiàn)題號采集將滿足過濾條件的題號記載下來,形成采樣數(shù)據(jù)稱為題號樣本數(shù)據(jù)(Number Sample),以文件形式存貯在計算機。將利用隨機函數(shù)產(chǎn)生的數(shù)作為預選樣本數(shù)據(jù)(PreSelected Smaple),預選樣本中數(shù)據(jù)不是真正的題號,而是題號樣本數(shù)據(jù)在計算機中存貯的位置號(Position:相當于存貯單元的地址),位置號所指定的位置上的數(shù)據(jù),才是真正的題號(Number:相當于存貯單元的內(nèi)容)。根據(jù)題號樣本的長度決定隨機函數(shù)取數(shù)的區(qū)間范圍(LowerBound,UpperBound),形成預選樣本數(shù)據(jù),再根據(jù)預選樣本數(shù)據(jù)在題號樣本中映射出所對應的題號,形成試卷草樣數(shù)據(jù);每抽完一題后,題號樣本數(shù)據(jù)要變化一次,并經(jīng)過相關的算法重新排列題號,形成下一輪使用的新的“題號樣本”,再根據(jù)題號樣本的長度動態(tài)地改變隨機函數(shù)取數(shù)的區(qū)間范圍;重復上述過程,直到按要求抽完所有題號為止;最后將形成“試卷草樣”數(shù)據(jù)(Paperscratch)按題號從小到大遞增順序排序后,生成“試卷正樣”數(shù)據(jù)(Paperformal)。具體實現(xiàn)算法如下:
(1) 題號采樣,在題庫中讀取滿足條件題號,寫入文件中,形成題號樣本NumberSample;
(2) 測試題號樣本的長度,計算總題數(shù)Sum;
(3) 動態(tài)生成取數(shù)區(qū)間[1,Sum],利用隨機函數(shù)生成預選樣本數(shù)據(jù)PreSelectedSmaple,產(chǎn)生數(shù)為ID,使之滿足1≤ID≤Sum;
(4) 由預選樣本數(shù)據(jù)映射出真實題號,形成試卷草樣Paperscratch;
(5) 將已選題號過濾掉,修改題號樣本,經(jīng)相關算法重新排列題號,生成新的題號樣本;
(6) 返回到第(2)步,循環(huán)執(zhí)行,直到全部抽題結(jié)束;
(7) 將試卷草樣,按題號從小到大排序后,形成試卷正樣Paperformal,供正式組卷使用;
(8) 將每題的命中次數(shù),寫入到題庫中模擬抽題結(jié)果分析。
為了便于描述和使用,用VB將隨機取數(shù)優(yōu)化算法編寫成通用過程,過程名為Selectnumber,形式參數(shù)為Numberselect,其為字符型數(shù)據(jù),sum為抽題總數(shù),copys為組卷份數(shù),過程頭為Selectnumber(numberselect As String,sum As Integer,copys As Integer) 。
3 應用
假設某類題型中滿足抽取條件的記錄共有30題,題號分別為1~30,共抽取10道題,組成1 000試卷,其題號樣本為“010203040506070809101112131415161718
192021222324252627282930”,程序調(diào)用方式為CALL Selectnumber(sele1,10,1000),兩次抽樣結(jié)果如圖1所示,平均命中次數(shù)為333(如圖2所示)。
圖1 兩種抽樣結(jié)果統(tǒng)計數(shù)據(jù)
圖2 兩種抽樣結(jié)果折線圖
4 結(jié) 語
從命中次數(shù)的跨度及出現(xiàn)的頻率來分析可知: (1) 采用樣本取數(shù)優(yōu)化算法,能使命中次數(shù)跨度區(qū)間縮小在平均命中次數(shù)(3331 000×10/30)周圍(模擬測試時為284~358),具有較好的區(qū)間收斂性,提高了題庫中每題的利用率,并使其趨于平穩(wěn);
(2) 采用隨機取數(shù)算法,命中次數(shù)跨度區(qū)間較大(模擬測試時為281~397),較樣本取數(shù)優(yōu)化算法的跨度區(qū)間收斂性差,題庫中每題利用率平穩(wěn)性差。由此可見采用該算法抽題組卷后,題庫的利用率明顯高于一般隨機抽取法[7,8]。
通過“樣本取數(shù)”這一技術,很好地解決隨機抽題組卷中存在的種種弊端。利用該算法可離線方式進行數(shù)據(jù)抽取,然后再根據(jù)試卷正樣,進行正式組卷。具有對數(shù)據(jù)庫操作量小,抽取時數(shù)據(jù)流量輕,組卷速度快,題庫中每題利用率趨于平穩(wěn),接近平均值,算法實現(xiàn)難度低、通用性更強等特點。采用樣本取數(shù)優(yōu)化算法具有較好的區(qū)間收斂性,題庫中題目的利用率高,并使其趨于平穩(wěn),接近平均值,抽取時數(shù)據(jù)量輕,組卷速度快。
參 考 文 獻
[1]王玲,王明俊.“通用試題庫計算機管理系統(tǒng)”的開發(fā)與研究[J].信息與控制,2001(Z1):8-11.
[2]韓衛(wèi),石盤中.基于概率論和自適應遺傳算法的智能抽題算法[J].計算機工程,2002,28(1):141-143.
[3]羅朝盛.Visual Basic 6.0程序設計教程[M].北京:人民郵電出版社,2003.
[4]陳運財.在線考試系統(tǒng)中隨機抽題算法研究[J].中小企業(yè)管理與科技,2009(4):244.
[5]羅建波.抽題系統(tǒng)[J].甘肅科技,2001(3):61.
[6]池撫新,沈麗.計算機隨機抽題組卷算法及應用[J].撫順石油學院學報,1999(2):45-47.
[7]鹿文鵬,賈秋亭,趙瑞蘭.Authorware基于ODBC技術的隨機抽題系統(tǒng)的實現(xiàn)[J].山東輕工業(yè)學院學報:自然科學版,2007(2):15-18.
[8]段錦.通用試題庫系統(tǒng)的設計方法研究[J].長春光學精密機械學院學報,2001(1):12-14.