文/蘇楠
國外研究現(xiàn)狀:西方教育對考試環(huán)節(jié)十分重視,測評系統(tǒng)的開發(fā)起源于國外,在90年代初,就制定了相關的測評規(guī)則與辦法,在測評系統(tǒng)開發(fā)領域中處于領先地位。在應用領域,國外的很多部門與機構都對測評系統(tǒng)給予關注,采用了在線測評的這種測試方式。被人們所熟知的有出國留學必須進行的語言水平測試(例如雅思)就是通過在線測試的方式進行的,計算機網(wǎng)絡技術架構師和思科認證也是通過設置相應考點,進行在線測評完成的。這些都對測評系統(tǒng)的發(fā)展起到了促進作用。在智能算法的測評系統(tǒng)開發(fā)過程中,國外也只經歷了不到二十年的發(fā)展時間,還存在著相應的發(fā)展空間。
國內發(fā)展現(xiàn)狀:國內的在線測評系統(tǒng),主要應用于教育行業(yè),尤其是在高等院校之中。高等院校受信息化技術影響,打造自身的網(wǎng)絡環(huán)境,并且實現(xiàn)了網(wǎng)絡平臺的教務工作管理和網(wǎng)絡平臺測試系統(tǒng)。高校每年都要進行多門課程的考核,在線測評系統(tǒng)能夠滿足大多數(shù)課程的考核需求,也能節(jié)約資源開銷。所以受到廣泛應用。但是在其它行業(yè)中,測評系統(tǒng)應用很少,在招聘中在素質選拔技能選拔中,通過測評系統(tǒng)來完成的,更是寥寥無幾。從應用領域來說有待加強。從實現(xiàn)水平來講,很多高校的測評系統(tǒng)只能滿足簡單的客觀化試題考試,沒有實現(xiàn)硬件擴展也很少使用算法來體現(xiàn)自動組卷的價值。
本文嘗試使用的蟻群算法和遺傳算法融合的方式,通過對試卷難度的控制,實現(xiàn)試卷的價值。同時利用建立區(qū)分度公式,來嘗試實現(xiàn)優(yōu)秀以及中等和偏弱學生的學習情況區(qū)分。而兩種算法融合方法的目的,是利用兩種算法各自的優(yōu)點,提升組卷速度提升成功率。因為蟻群算法在初期的路徑選擇中,缺乏有效的選擇方式,選擇速度慢,(后文詳細介紹)而利用遺傳算法可以提升路徑選擇速度。通過兩種算法的融合,提升組卷質量,實現(xiàn)組卷目標。
本文算法在智能測評系統(tǒng)中主要針對試卷的自動生成產生作用,從淺入深的作用依次為:第一點,滿足試卷的最基本約束條件,也就是符合針對試卷而設計的總分、試題類型、分數(shù)數(shù)值、試題數(shù)量等等,最基本的設置要求。第二點,保證試題的難度覆蓋區(qū)域,使得試題難度更加具有價值,避免過于簡單或者難度過大的題目集中的出現(xiàn)。第三點,增強試卷的區(qū)分度,在保證題目難度偏移不集中現(xiàn)象出現(xiàn)基礎上,體現(xiàn)試題的區(qū)分度,讓優(yōu)秀、中等、較差的學生通過智能測試,找到差距,教師對學生的學習狀態(tài)能夠很好的區(qū)分。第四點,保證試卷生成的成功率。
2.2.1 蟻群算法基本思想
蟻群算法思想借鑒于生物學,人們發(fā)現(xiàn)螞蟻在尋覓食物并搬運的過程中,總能找到相應的優(yōu)選路徑,并且很少出現(xiàn)搬運擁塞的現(xiàn)象。經過研究發(fā)現(xiàn),這是螞蟻可以分泌一種信息熵的緣故,這種特定的信息熵,具有特殊的氣味能夠被螞蟻所識別,同時這種信息熵會伴隨時間進行揮發(fā)。
如圖1:起點為A,M,N代表不同選擇的路徑集合,即為選擇M處會經過的所有路徑和從N處會經過的所有路徑。設置時間t,則M處通過時間為t1,N處通過為t2,我們會發(fā)現(xiàn)t1,t2中較小者會逐漸被選中。初始狀態(tài)根據(jù)概率分析,假設兩邊路徑集合通過的數(shù)量相同,但經過足夠長時間單位tC后,時間短的路徑集合通過的螞蟻數(shù)量不斷增多。一方面時間短,說明路徑短,多次循環(huán)通過的數(shù)量會形成倍數(shù)量級。另一方面,通過的螞蟻數(shù)量多,信息熵分泌多,揮發(fā)時間短會造成濃度的提升,從而成為優(yōu)選解。
圖1
2.2.2 蟻群算法優(yōu)缺點
從算法說明處可以分析出算法具有以下優(yōu)點:第一點,從計算機算法實現(xiàn)角度來分析,蟻群算法優(yōu)選解的計算是一種分布式算法,從前文圖例說明原理也可以看出。因此利于大規(guī)模運算的實現(xiàn)。第二點,收斂速度快,正反饋機制:蟻群算法從信息熵的濃度來進行辨別,濃度高,被選擇概率高,同時選擇概率高又不斷增強濃度,是一種正向的反饋機制。正反饋機制的特點就是收斂速度快。第三點,魯棒性能突出,這在蟻群算法在多個領域都得到應用就可以看出,模型適用性強,便于修改與應用。第四點,是以集合形式出現(xiàn),利于求出優(yōu)選集合,便于實現(xiàn)全局化算法。
缺點:從算法思想闡述我們也可以看出,算法要嘗試實現(xiàn)的話,在算法初期,信息熵濃度的積累需要較長時間,應用于算法中也就是初期的算法搜索時間長,算法時間復雜度高。同時也容易出現(xiàn)路徑選擇,問題優(yōu)解針對個體難以區(qū)分,或者算法收斂過快,造成算法無法繼續(xù)。處于停止狀態(tài)。
從思想實例出發(fā),說明可能存在的問題,假設圖1中對于路徑的選擇,信息熵選擇方法重要權值為X,新路徑啟發(fā)重要權值為Y。也就是說,當路徑選擇或者最優(yōu)解中,X數(shù)值很高,則信息熵濃度為最重要。反之若Y數(shù)值高,則新路徑選擇優(yōu)先。我們考慮臨界狀態(tài)。如果Y數(shù)值高而X數(shù)值是0,那么就代表無論信息熵濃度多高,某路徑經過多少螞蟻,這個解都會被放棄,而去尋求新路徑中,距離最近的解,這就等同于貪婪算法的實現(xiàn)。反之,如果X數(shù)值高,新路徑Y數(shù)值為0,那么就是一個完全的信息熵路徑選擇,高速的正反饋,極快的收斂,容易形成局部的錯解,不適用于全局優(yōu)化的求解過程。
兩種算法進行融合的目的明顯,是兩用兩種算法各自的優(yōu)點,實現(xiàn)降低試卷生成的時間復雜度,縮短試卷生成時間,并提升精度。蟻群算法的缺點是初期的信息熵的搜索時間長,而通過遺傳算法隨機性,縮短初期的積累時間,獲得一個相對的前期優(yōu)解,再使用蟻群算法,發(fā)揮分布計算和正反饋機制的特點提升精度。
兩種算法都具有一定的融合性,那么融合位置的選擇較為重要,根據(jù)算法融合發(fā)揮的作用,可以用以下方法實現(xiàn)融合位置的計算。首先具體設置算法中的迭代次數(shù)臨界值(最大與最?。龠M行子代群體的最小進化率的計算,并設置最小進化率。如果在算法應用過程中,發(fā)現(xiàn)實際進化率大于我們的最小進化率設置數(shù)值,則遺傳算法效率依然為較快,繼續(xù)進行迭代計算,如果出現(xiàn)多次的一直連續(xù)的小于設置值現(xiàn)象,則遺傳算法作用完成,切入蟻群算法,利用正反饋機制提升精度,進一步進行計算。
篇幅有限,這里進行重要試卷指標說明,并簡單介紹算法中的一些計算模型。
試卷難度指標:
從難度指標公式不難看出,這是每到試題的難度權值與分數(shù)的乘積,再除以分數(shù)和。其中,di為難度,si為分值,最終求得試卷的難度系數(shù)。
試卷區(qū)分度:試卷的區(qū)分度,體現(xiàn)試題的價值,通過學生對試卷的得分概率來體現(xiàn),區(qū)分度用T代表:T=Hp-Lp,也就是高分成績獲得數(shù)量與低分成績獲得數(shù)量的得分率差值,一般情況下,區(qū)分度數(shù)值較大代表試卷區(qū)分度高,質量佳。
試卷信度:也就是通過算法生成的試卷的質量可信度,這是對算法生成的試卷能否穩(wěn)定的組卷成功,試卷能夠滿足考試要求,試卷質量的一個總體評估指標:
其中r為所求信度,n是具體的題目數(shù)量,P是該題得分率,s2為得分方差
在蟻群算法模型中,P就是路徑選擇的相對概率,S就是引入的信息熵。從公式意義看出,S信息熵的數(shù)值決定了選擇新路徑的概率,也就是當數(shù)值大的時刻,那么下一個路徑被選擇的概率很大,反之,就很小。當螞蟻選擇的最優(yōu)路徑趨向相同,同時信息熵達到一個很小的臨界數(shù)值的時候,也就說明了算法完成,解被求出。
初始化過程:確定試卷的基本約束條件以及簡單參數(shù)以及試題模型
采用遺傳算法對試題進行第一步優(yōu)解,并不斷是否達到融合臨界點。(融合臨界點確定方法前文有明確介紹),當達到臨界點的時候,退出遺傳算法。
采用蟻群算法,并把遺傳算法的初步優(yōu)解應用在初始信息分布中,解決初期信息熵搜素時間長的問題。
采用確定的蟻群算法模型,進行相應的數(shù)學運算
最終輸出:成功試卷。
4.3.1 遺傳算法設計
編碼設計:采用二進制編碼模式,產生編碼矩陣,對染色體進行編碼0代表未曾選中,1代表選中
選擇算子、交叉算子與變異算子:可以說這三個算子的設計過程就是一個遺傳算法的簡單過程。選擇算子的含義就是對染色體進行挑選,選出適合算法的優(yōu)秀個體。目前流行的算法毫無疑問是輪盤賭算法。這里不多做說明。交叉算子,通過染色體隨機交叉的方式,通過數(shù)學方法產生下一代的算子,也就是繁衍優(yōu)秀下一代的方式。而算子交叉的方法很多,交叉算子的數(shù)值在0.5左右區(qū)間為適宜。變異算子,顧名思義,有遺傳就有變異,只有變異才可能發(fā)現(xiàn)更多的優(yōu)秀下一代群體。那么針對二進制的染色體編碼方式,通過某些位置的邏輯反操作,可以實現(xiàn)變異。
參數(shù)考慮:也就是遺傳算法中各個參數(shù)的設置合理性。首先群體的數(shù)量,要根據(jù)題庫內試題數(shù)量而定。迭代次數(shù)要適中,過大會產生大量消耗,過小難以產生真正的初期優(yōu)解。這里可以設置120次。同時設置交叉概率與變異概率。交叉概率建議為0.55。
4.3.2 蟻群算法設計
第一步,參數(shù)初始化。
第二步,將螞蟻分配到不同的路徑當中,產生列表。
第三步,進行螞蟻選擇下一路徑的概率計算,不同螞蟻對路徑的選擇不能重復。
第四步,群體走完路徑后,重新回到起點,通過蟻群算法數(shù)學模型進行信息熵公式計算。
第五步,再次進行第三步和第四步。
第六步,當符合信息熵條件終止條件后,獲得優(yōu)解。